OC中字典,数组和字符串的使用

mac2022-06-30  22

☞☞☞☞字典方法(关键字)☜☜☜☜   一.NSDictionary 不可变字典 方法: 1.创建对象方法 NSDictionary * dic = @{@"key1”:@“value",@"key2”:@“value2",@"key3”:@“value3",@"key4”:@“value"}; 2.查看键的个数   [dic count];  返回值是:NSUInteger类型 3.通过key查找value  对象[key] 如:dic[key1]; 4.获取所有key/所有value 所有key:[dic allkeys]; 所有value:[dic allValues]; 5.查看value所对应的key [dic allkeysForObject:@"Value2"];   二.NSMutableDictionary 可变字典 1.增加key和value [dic setObject:@"value5" forkey:@"key5"]; 2.删除 (1)删除指定的key  [dic removeObjectForkey:@"key"]; (2)删除数组中的key NSArray * array = @[@"key1",@"key2"]; [dic removeObjectForkey:array]; (3)删除全部 [dic removeAllObject]; 3.修改 (1)通过key修改value的值 [dic setObject:@"qianfeng" forkey@"key1"]; 注:通过key修改value的值前提字典里面必须存在这个key. (2)用新字典覆盖字典的值 NSDictionary * dic1 = @{@"key1”:@“value",@"key2”:@“value2",@"key3”:@“value3",@"key4”:@“value"}; [dic setDictionary:dic1]; 4.快速遍历 for(NSString * key1 in dic){ NSString * value = dic[key1]; NSLog(@"value = %@",value); }   ☞☞☞☞数组方法(关键字)☜☜☜☜   一.NSArray不可变数组 1.创建数组  对象方法 NSArray * array = [[NSArray alloc]initWithObjects:@“1”,@“2”,@“3”,nil]; 类方法NSArray * arr = [NSArray arrayWithObjects:@“11”,@“22”,@“33”,nil]; 通过@的方法 : NSArray * array1 = @[@"11",@"12",@"13",@"14"]; 2.统计数组成员个数: NSUInteger n = [array count]; 3.输出指定数组成员: NSString * str = 数组名[下标]; 4. 判断数组是否包含某个元素 BOOL * boo = [arr containsObject:@"2222"]; NSLog(@"%d",boo); 存在则返回1,不存在返回0   5.获取第一个元素/最后一个元素: NSString * first  = [数组名 firstObject]; NSString * last = [数组名 lastObject]; 6. 将数组元素进行拼接 NSString * str1 = [array componentsJoinedByString:@" "]; NSLog(@"%@",str1); 将数组元素之间用空格的方式输出   7. 将字符串进行拆分 NSString *str2 = @"good good study day day up"; NSArray * arr2 = [str2 componentsSeparatedByString:@" "]; NSLog(@"%@",arr2);   8.判断当前对象属于哪个类? isKindOfClass方法 9.数组元素的遍历 NSArray * array1 = @[@"11",@"12",@"13",@"14"] ; 1.forin的方法 for (NSString * str3 in array1) {   NSLog(@"%@" ,str3); } 2.for方法 for (int i = 0 ; i<[array1 count ]; i++) {   NSLog(@"%@" ,array1[i]); } 二.NSMutableArray 可变数组 1.创建数组 对象方法: NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@“1”,@“2”,@“3”,nil]; 类方法:NSMutableArray * arr = [NSMutableArray arrayWithObjects:@“11”,@“22”,@“33”,nil]; 通过数组的方法 : NSMutableArray * muArray = [[NSMutableArray alloc]initWithArray:array1];       NSLog(@"%@",muArray); 2.增加元素 [muArray addObject:@"15"]; 3.数组中追加数组(将array数组追加到木Array数组中) [muArray addObjectsFromArray:array]; 4.替换数组中的元素(将muArray数组中下标4的元素替换成 0) [muArray replaceObjectAtIndex:4 withObject:@"0"]; 5.交换数组中的元素(将muArray数组中下标0的元素和下标4的元素进行互换) [muArray exchangeObjectAtIndex:0 withObjectAtIndex:4]; 6. 数组在指定位置增加元素(在muArray数组中,下标为4的位置插入20元素) [muArray insertObject:@"20" atIndex:4];   7.在数组中删除   a.删除最后一个元素 [muArray removeLastObject];   b.删除指定下标(删除数组muArray的下标3的元素)   [muArray removeObjectAtIndex:3];   c.删除指定的元素(删除数组muArray中的 0) [muArray removeObject:@"0"];   d.在指定范围内删除指定元素 功能:删除数组muArray下标0开始的5个元素中的 0. NSRange range = {0,5}; [muArray removeObject:@"0" inRange:range];     e.从一个数组中删除   (从数组muArray数组中删除arr8数组的值) NSArray * arr8 = @[@"0",@"12",@"11"]; [muArray removeObjectsInArray:arr8]; NSLog(@"%@",muArray);   f.删除数组中所有元素(删除数组muArray中所有的元素)   [muArray removeAllObjects]; 8.修改数组(将数组array中的元素给数组muArray,原来的元素被覆盖) [muArray setArray:array]; 9.排序 方法:选择排序法,升序排序   NSArray * muArray = @[@"0",@"12",@"11",@"6",@"91"]; for (int i = 0; i< [muArray count]-1; i++) {    for (int j = i +1; j < [muArray count]; j++) {      if ([muArray[i]intValue] > [muArray[j] intValue]) {          [muArray exchangeObjectAtIndex:i withObjectAtIndex:j];         }    }     } NSLog(@"%@",muArray);       ☞☞☞☞字符串方法(关键字)☜☜☜☜   一.NSString 不可变字符串 1. 字符串初始化 NSString * str = [[NSString alloc]init]; NSString * str2 = [[NSString alloc]initWithFormat:@"abc"]; NSString * str1 = [NSString stringWithString:str2]; NSLog(@"%@ %@",str1,str2); 2. 将c语言字符串转换成oc字符串 char * p = "aa11bb22"; NSString * str3 = [[NSString alloc]initWithUTF8String:p]; NSLog(@"%@",str3); 3. 将oc字符串转化成c字符串 char * p = [str3 UTF8String]; NSLog(@"%s",p); 4. 字符串比较是否相等(判断字符串str1和字符串str3是否相等,返回布尔值) [str1 isEqualToString:str3] 5. 比较两个字符串的大小 - if([str1 compare:str3] == NSOrderedAscending){//升序 NSLog(@"str1 = str3"); }else if ([str1 compare:str3] == NSOrderedDescending){//降序   NSLog(@"str1 > str3"); }else{// NSOrderedSame 相等   NSLog(@"str1 = str3"); }   6.字符串的长度 NSUInteger n = [str3 length];//返回值是NSUInteger类型的 7.获取字符串单个字符(获取字符串str3中第一个字符) char c = [str3 characterAtIndex:0]; NSLog(@"%c",c); 8.字符串拼接 NSString * str =[str3 stringByAppendingString:str1]; NSLog(@"%@",str); 9. 字符串的查找 查找字符串str中第一次出现aa的起始下标及其长度 NSRange range = [str rangeOfString:@"aa"]; NSLog(@"%lu %lu",range.location,range.length);   10.替换字符串(在指定范围内) NSRange range = {0,6}; NSString * str1_1 = [str stringByReplacingCharactersInRange:range withString:@"努力"]; NSLog(@"%@",str1_1);   11. 判断前缀和后缀 前缀功能:检查某个字符串是否以指定的字符串开始,采用hasPrefix方法 (后缀功能同理):hasSuffix方法 if ([str1_1 hasPrefix:@"ads"]) { NSLog(@"str1_1字符串是以ads开头的"); }else{ NSLog(@"str1_1字符串不是以ads开头的"); }   12.字符串转换 1)转大写字母:str = [str uppercaseString]; 2)转小写字母:str = [str lowercaseString]; 3)转整型:int a = [str intValue]; 4)转布尔型:BOOL isOk = [str boolValue]; 13. 字符串的拆分 功能:用指定的分隔符将字符串分成数组 NSString * str = @"a,b,c,d,e,f"; NSArray * array = [str componentsSeparatedByString:@","]; NSLog(@"%@",array); 14. 从网上读取文件内容到字符串中 NSString * str = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"网址"] encoding:NSUTF8StringEncoding error:nil]; 15. 写入文件 [str writeToFile:@"目标文件路径" atomically:YES encoding:NSUTF8StringEncoding error:nil];   二.NSMutableString 可变字符串 1.创建字符串 NSMutableString * ms1 = [[NSMutableString alloc]init]; NSMutableString * ms2 = [NSMutableString stringWithString:str]; NSLog(@"%@",ms2); 2.拼接字符串 [ms2 appendString:@"g"]; NSLog(@"%@",ms2); 3.插入字符串(指定位置插入元素) 例子:在ms2字符串中下标为1的位置插入一个元素a [ms2 insertString:@"a" atIndex:1]; NSLog(@"%@",ms2); 3.替换字符串(指定区间) 例子:在ms2字符串替换下标为0的3个元素替换为z元素 [ms2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"z"]; NSLog(@"%@",ms2); 4.删除字符串 例子:将字符串ms2从下标为0的4个元素删除 [ms2 deleteCharactersInRange:NSMakeRange(0, 4)]; NSLog(@"%@",ms2); 5.重新设置字符串 功能:将字符串重新设置为新元素,覆盖原来的值 [ms2 setting :@“gen ahi bai bing”]; NSLog(@“%@”,ms2); 

转载于:https://www.cnblogs.com/KennyHito/p/6860258.html

最新回复(0)