OC中的字符串,数组,字典,集合常用方法

最近学习了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天天都在见对象呢对吧?有对象的呢,就早日可以幸福的在一起。。。。。。还有就是对我的那个她说,你的支持和信赖是我一直学习,坚持下去的动力。




欢迎各种点赞,打赏。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容