-
数组
-
数组的创建
NSArray * array = @[@"123",@1,@"dsfds"]; //在OC中创建对象, [[类名 alloc]init],实例方法创建数组对象 NSArray *array1 = [[NSArray alloc]initWithObjects:@"sdsd",@12,@YES, nil]; //使用类方法创建数组对象 NSArray * array2 = [NSArray arrayWithObjects:@"dsfd",@"dfdsf", nil]; //通过对象方法创建一个新的数组,使用一个已经存在的数组 NSArray *array3 = [[NSArray alloc]initWithArray:array1]; //通过类方法创建一个新的数组,使用一个已经存在的数组作为参数 NSArray *array4 = [NSArray arrayWithArray:array2];
-
可变数组的创建
//使用对象方法创建可变数组,不指定存放元素的个数 NSMutableArray * array5 = [[NSMutableArray alloc]init]; //类方法创建 NSMutableArray * array6 = [NSMutableArray array]; //使用数组元素创建可变数组,对象方法 array5 = [[NSMutableArray alloc]initWithObjects:@"123",@1, nil]; //对应的类方法 使用数组元素创建可变数组 array5 = [NSMutableArray arrayWithObjects:@"grd",@89, nil]; //通过一个已经存在的数组创建一个可变数组,对象方法 array6 = [[NSMutableArray alloc]initWithArray:array1]; //通过一个已经存在的数组创建一个可变数组,类方法 array6 = [NSMutableArray arrayWithArray:array2];
-
可变数组的常用方法
//添加新的元素 [array6 addObject:@"1234"]; //在数组的某一特定位置加入新的元素,注意:下标不要越界 [array6 insertObject:@"gfhn" atIndex:0]; //将某一数组中的所有元素添加到当前数组之后 [array6 addObjectsFromArray:array1]; //删除已经存在的元素 [array6 removeObject:@"1234"];//直接删除对象,指针 [array6 removeObjectAtIndex:0];//通过下标删除对象 //删除某一个范围的元素,起始下标1,1开始往后删除2个元素 [array6 removeObjectsInRange:NSMakeRange(1, 2)]; //交换元素的位置,通过下标交换两个元素的位置 [array6 exchangeObjectAtIndex:0 withObjectAtIndex:1]; //访问数组中的元素 //通过下标访问数组中的元素 id item = array6[0]; NSLog(@"===%@",item); //通过下标访问数组中的元素 item = [array6 objectAtIndex:0]; //获取某一个元素在数组中的下标 NSInteger index = [array6 indexOfObject:item]; //获取数组中的第一个元素 id first = [array6 firstObject]; //获取最后一个元素 id last = [array6 lastObject]; //判断数组中是否包含某一个元素 BOOL have = [array6 containsObject:@"1234"]; NSLog(@"%@",have == YES?@"存在1234":@"不存在1234"); //获取数组中的元素个数 //NSInteger count = [array6 count]; NSInteger count = array6.count;
-
-
字典
-
创建字典对象
NSDictionary * dict = @{@"key1":@"fesr",@"key2":@34,@"key3":array6}; //对象方法创建字典,使用键值对创建,值在前,key在后,成对出现 NSDictionary *dict1 = [[NSDictionary alloc]initWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",@"value3",@"key3", nil]; //类方法创建字典,使用键值对创建,值在前,key在后,成对出现 NSDictionary *dict2 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",@"value3",@"key3", nil]; NSLog(@"字典 --->%@",dict2); //使用一个已经存在的字典创建新的字典,对象方法 NSDictionary *dict3 = [[NSDictionary alloc]initWithDictionary:dict1]; //使用一个已经存在的字典创建新的字典,类方法 NSDictionary *dict4 = [NSDictionary dictionaryWithDictionary:dict2];
-
创建可变字典对象和数组大体类似
NSMutableDictionary *dict5 = [[NSMutableDictionary alloc]init]; NSMutableDictionary * dict6 = [NSMutableDictionary Dictionary];
-
可变字典的常用方法
//添加键值对 [dict5 setObject:dict1 forKey:@"dict"]; [dict5 setValue:array6 forKey:@"array"]; //获取字典的key对应的值 id value1 = dict5[@"dict"]; id value2 = [dict5 objectForKey:@"array"]; //获取所有的键的数组 NSArray *keys = [dict5 allKeys]; //获取所有的value NSArray *values = [dict5 allValues]; //对象转NSData 对象 -> 字典 -> NSData // toDictionary:通过runtime获取一个对象的所有成员变量和属性,将所有的成名变量名和属性名作为字典的key,他们所对应的值作为value NSData *data = [NSJSONSerialization dataWithJSONObject:dict5 options:NSJSONWritingPrettyPrinted error:nil]; //删除键值对 [dict5 removeObjectForKey:@"dict"];
-
-
集合
-
对象方法创建集合,集合时没有顺序的
NSSet *set = [[NSSet alloc]initWithObjects:@"123",dict5,array, nil]; //类方法创建集合 NSSet *set1 = [NSSet setWithObjects:@"23232",dict1,array6, nil];
-
字符集合 ---字符串分割
//字符集合, NSCharacterSet *cSet = [NSCharacterSet characterSetWithCharactersInString:@"#$&*"]; NSString *str = @"dssafv#dsf&gfh*fdf$dsb"; //字符串分割 NSArray *array7 = [str componentsSeparatedByCharactersInSet:cSet]; NSLog(@"分割后的数组 %@",array7);
-
字符集合----NSURL中的Unicode编码
NSString *str = @"http://www.baidu.com:8080/image?name=性感"; NSCharacterSet *set2 = [NSCharacterSet URLFragmentAllowedCharacterSet]; [str stringByAddingPercentEncodingWithAllowedCharacters:set2];
-
OC中的集合类型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1. 熟悉Git的基本流程 git clone git add -A git commit -m " " git ...