美文网首页IOS开发iOS开发收集首页投稿(暂停使用,暂停投稿)
OC中的字符串,数组,字典,集合常用方法

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

作者: 小小赵纸农 | 来源:发表于2016-04-07 22:24 被阅读1314次

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

    欢迎各种点赞,打赏。

    相关文章

      网友评论

      本文标题:OC中的字符串,数组,字典,集合常用方法

      本文链接:https://www.haomeiwen.com/subject/xzfvlttx.html