最近学习了OC,觉得里面的方法就和C语言里面的函数差不多,下面是本人最近做的一些方法总结,初学写的不好,勿喷。有好的文章可以留言,本人急需发展,就像乔布斯说的那句话:求知若饥,虚心若愚。
/*一. 字符串
OC中字符串的格式:NSString *string =@"字符";
1. 创建一个字符创常量
(1).直接赋值
(2).通过初始化,便利构造
2. 快速创建一个字符串
(1).通过带参数的init方法快速创建
(2).通过带参数的便利构造方法快速创建
3. 创建一个格式化的字符串
(1).通过带参数的便利构造方法创建格式化字符串
(2).后面的格式,跟输出(NSLog)括号内的一样
4. 字符串的比较
(1).区分大小写的比较:compare
(2).不区分大小写的比较:caseInsensitiveCompare
(3).isEqualToString比较字符串对象的内容是否一样;==比较两个字符对象的内存地址是否一样,用BOOL 接受
5. 字符串的转换
(1).将字母转化为大写:uppercaseString
(2).将字母转化成小写:lowercaseString
(3).将首字母大写,后面小写:capitalizedString
6. 字符串的截取与拼接
(1).表示从头截取到哪里:substringToIndex
(2).表示从哪里开始到尾:substringFromIndex
(3).表示按指定的范围截取:substringWithRange
NSrange规定一个返回,locationd代表开从哪里开始截取,length代表要截取多长
(4).格式化拼接字符串:stringByAppendingFormt
7.字符串转换数组
(1).用特定字符分割字符串:componentsSeparatedByString
NSMutableString方法
8. 增->使原字符改变
(1).对自身进行修改:appendString
(2).对自身进行格式化拼接:appendFormat
(3).在字符串的指定位置插入内容:insertString...atIndex
9. 删->删除原字符串的某些内容
(1).删除原字符串中指定区域的字符:deleteCharactersInRange range指代删除内容范围
10.改->修改原字符的某些内容
(1).修改字符的内容:replaceCharactersInRange...withString
range指代修改内容范围,withString后面加修改后的内容
11.查->查找原字符串的字符
(1).查找原字符串中是否有指定的字符:containsString BOOL类型 接收
*/
/*
二.数组
OC中数组的格式:NSSArray *array = @[@"元素1",@"元素2",@"元素3"];
OC中能将另一个数组的值赋给新数组
1. 数组对象的创建
(1).创建数组时给数组添加一个元素:arrayWithObject
(2).创建数组时给数组添加多个元素:arrayWithObjects
采用该方式最后用 nil结尾
(3).创建数组时添加整个数组:arrayWithArray
2. 获取数组中的元素个数以及访问数组元素
(1).通过下标来存取值:array[];
(2).通过count获取到数组中元素的个数:array count
3. 追加数组中的内容
(1).往数组里面追加一个元素:arrayByAddingObject
(2).往数组里面追加一个数组:arrayByAddingObjectsFromArray
4. 数组转字符串
(1).数组转换字符串的方法:componentsJoinedByString
用符号隔开元素
5. 判断数组中是否存在一个指定的对象
(1).判断数组中是否存在一个指定的对象:containsObject
结果用 BOOL 接受
6. 根据指定的对象返回索引下标、返回数组中最后一个元素
(1).根据索引下标,找到第一个最后一个元素:first/lastObject
7. //for...in 快速遍历数组:
for(NSString *str1 in array){
}
in左边:放一个数组内容的引用,没有实例化的对象就叫做引用
in右边:放要遍历的数组
核心:从头遍历指定数组,将每次遍历到的数值给in左边的对象
当数组里面的元素被遍历完成以后,for循环自动结束
NSMutableArray
7. 新增
(1).往数组里面添加一个元素:addObject
(2).往数组里面批量添加元素:addObjectFromArray
8. 插入
(1).往数组里插入一个元素:insertObject...atIndex
atIndex指的是从哪插入
9. 删除
(1).删除最后一个元素:removeLastObject
(2).删除指定位置元素:removeObjectAtIndex
后面加指定的位置
(3).删除所有的元素:removeAllObjects
(4).批量删除:removeObjectsInArray
10. 替换元素
(1).用指定元素替换数组中指定位置:replaceObjectAtIndex:withObject
后加指定元素位置, 后加指定元素
(2).用指定数组替换数组中指定区域元素
replaceObjectInRange:位置
withObjectsFromArray:nil
三.字典
OC中字典的格式:NSDictionary *dict = @{key:value,key:value...};
1.字典对象的创建
(1).通过直接赋值的方法:NSDictionary *dict =@{key:vaule,key:value};
(2).通过alloc init方法: NSDictionary *dict =[[NSDictionary alloc]init];
(3).便利构造方法:NSDictionary *dict =[NSDictionary dictionary];
2.快速创建一个字典的方法
(1).初始化过程中NSDictionary initWithObjectsAndKeys:无论键还是值都用逗号隔开,键在前,值在后,给的参数必须是双数
(2).便利构造过程中NSDicationary dictionaryWithObjectsAndKeys:无论键还是值都用逗号隔开,键在前,值在后,给的参数必须是双数
(3).将一个字典放到一个字典中:NSDictionary *dict1 =[NSDictionary alloc]initWithDictionary:dict(准备好的字典)];
(4).通过读取存放字典数据的文件创建字典:[[NSDictionary dict =[NSDictionary alloc]intWithContentsOfFile:nil(文件)];
(5).通过将url中存放的字典创建到新的字典中:[[NSDictionary alloc]initWithContentOfURL:nil(uil资源)];
3.获取字典中的键值
(1).通过字典里面相对的键:dict[@"key"];[dict objectForKey:@"key"];
(2).通过count获取到字典中键值对的个数: long num =[dict count];
(3).通过allkey获取到字典里面所有的键:NSArray *allkeysArray = [dict allkeys];
(4).通过allvalue获取到字典里面所有的值:NSArray *allvaluesArray = [dict allvalues];
(5).通过遍历字典中的键,来遍历字典中的值:for(NSString *key in allkeysArray){
NSLog(@"%@",dict[key]);
}
(6).通过枚举器访问获取到字典中的键和值:
通过keyEnumerator(枚举器)获取到字典中所有的键,将所有的键放入一个容器中:NSEnumerator *result = [dict keyEnumerator];
通过for...in循环遍历这个容器:for(NSString *key in result){
NSlog(@"%@",key);
};
通过nextObject方法获取容器中的结果,当nextObject结果返回为空时跳出循环:NSString = temp;
while(temp = [result naetObject]){
NSLog(@"%@",temp);
}
NSMutableDictionary 方法
1.给可变字典的赋值方式
(1).简单方式:通过直接赋值,dict[@"key"] =@"value";
(2).复杂方式:通过遍历构造,[dict setValue:@"value" forKey:@"key"];
(3).重新给字典赋值:[dict setDictionary:@{@"key":@" value"}];
2.创建字典
(1).创建指定个数元素的字典,如果赋值超过的时候系统会直接扩充
(2).alloc init和便利构造
3.移除字典元素
(1).通过Key来移除指定元素:[dict removeObjectForKey:@"key
"];
(2).批量移除:[dict removeObjectsForKeys: @[@"key1",@"key2"]];
(3).全部移除:[dict removeAllObjects];
四.集合
OC中集合的格式:NSSet *set =[NSSet alloc]initWithObjects:@1,@2,@3,nil];
1.集合对象的创建(快速创建)
(1).创建对象并直接赋值:NSSet *set =[NSSet alloc]initWithObjects:@1,@2,@3,nil];
(2).通过alloc init方法:NSSet *set = [[NSSet alloc]init];
(3).通过便利构造方法: NSSet *set = [NSSet set];
2.将数组转化为集合:
(1).将数组转化为集合:NSSet *set = [NSSet setWithArray:array];
(2).将一个元素放到新的集合:NSset *set = [NSSet setWithObject:@新元素];
3.遍历集合元素
(1). 通过for...in遍历集合:
for(NSString *temp in set){
}
(2).枚举器遍历集合:
NSEnumerator *result = [set objectEnumerator];
id temp;
while(temp = [result nextject]){
};
4.判断两个集合是否有交集
(1).判断是否有交集:BOOL isJiaoJi = [set1 isSubsetsOFSet set2];
(2).判断前者是否是后者的子集
BOOL isSub = [set isSubsetOfSet:set1];
NSMutableSet 方法
1.创建指定元素个数的一个集合对象
(1). NSMutableSet *set = [NSMutableSet setWithCapacity:1];
(2).给集合添加单个元素:
[set addObject:@"元素"];
(3).给集合批量添加元素:
[set addObjectsFromArray:array];
2.移除集合中的元素
(1).移除集合中的一个元素:
[set removeObject:@"元素"];
(2).移除集合中的所有元素:
[set removeAllObjects];
3.判断两个集合有没有交集并集
(1).获取到两个集合的并集最后赋值给set:
[set unionSet:set1];
(2).获取到两个集合的交集最后赋值给set:
[set intersectSet:set1];
(3).从一个集合中减去另一个集合,就是从集合中移除这两个集合的交集,最终赋值给set
[set minusSet:set1];
4. 给集合重新赋值
[set setSet:set1];
*/
补充:
mark 数组排序
NSArray *sortArray = @[@"b",@"c",@"d",@"z",@"r"];
// 设置比较方法
NSArray *resultArray = [sortArray sortedArrayUsingSelector:@selector(compare:)];
// 能设置升序还是降序
NSString *resultArray1 = [sortArray sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
return [obj2 compare:obj1];
}];
最后,祝愿学习编程的都能早日找到对象,好吧,貌似我们学习oc天天都在见对象呢对吧?有对象的呢,就早日可以幸福的在一起。。。。。。还有就是对我的那个她说,你的支持和信赖是我一直学习,坚持下去的动力。
欢迎各种点赞,打赏。