黑马程序员一NSSet, NSDictionary
来源:互联网 发布:淘宝双十一晚会直播 编辑:程序博客网 时间:2024/05/22 22:24
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
集合类(无顺序)
一.NSSet
NSSet
->NSMutableSet
<span style="font-size: 11px;"> </span><span style="font-size:14px;">NSSet *S = [NSSet set]; NSSet *s1 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject];//无序,随机拿出一个元素 NSMutableSet *s = [NSMutableSet set]; //添加元素 [s addObject:@"hack"]; //删除元素 [s removePbject:(id)];</span><span style="font-family: Menlo; font-size: 11px; background-color: rgb(255, 255, 255);"> </span>
二.NSSet与NSArray的对比
1.共同点
都是集合,都能存放多个OC对象
只能存放OC对象,不能存放非OC的对象类型(基本数据类型:int,char,float等,结构体,枚举)
本身都不可变,都有一个可变的子类
2.不同点
NSArray有顺序,NSSet没有顺序
三.NSDictionary
NSDictionary
->NSMutableDictionary
无序
快速创建(不可变):@{key1 : value1, key2 : value2}
快速访问元素:字典名[key]
<span style="font-size:14px;"> NSArray *persons = @[ @{@"name" : @"jack", @"qq" :@"432423423", @"books": @[@"5分钟突破iOS编程", @"5分钟突破android编程"]}, @{@"name" : @"rose", @"qq" :@"767567"}, @{@"name" : @"jim", @"qq" : @"423423"}, @{@"name" : @"jake", @"qq" :@"123123213"} ]; </span>
<span style="font-size:14px;"> NSDictionary *jim = persons[2]; NSString *bookName = persons[0][@"books"][1]; NSLog(@"%@", bookName); NSArray *array = persons[0][@"books"];</span>
先取出1位置对应的字典
再取出字典中qq这个key对应的数据
字典不允许有相同的key,但允许有相同的value(Object)
字典的无序的
<span style="font-size:14px;"> NSDictionary *dict = @{ @"address" : @"北京", @"name" : @"jack", @"name2" : @"jack", @"name3" : @"jack", @"qq" : @"7657567765"};</span>
<span style="font-size: 11px;"> </span><span style="font-size:14px;"> NSArray *keys = [dictallKeys]; for (int i = 0;i<dict.count; i++) { NSString *key = keys[i]; NSString *object =dict[key]; NSLog(@"%@ =%@", key, object); }</span>
<span style="font-size:14px;"> [dict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) { NSLog(@"%@ - %@", key, obj); // *stop = YES; }];</span>
<span style="font-size: 11px;"> </span><span style="font-size:14px;">NSMutableDictionary *dict = @{@"name" : @"jack"}; [dict setObject:@"rose" forKey:@"name"];</span>
<span style="font-size:14px;"> NSMutableDictionary *dict = [NSMutableDictionary dictionary];</span>
添加键值对
<span style="font-size: 11px;"> </span><span style="font-size:14px;"> [dict setObject:@"jack" forKey:@"name"]; [dict setObject:@"北京" forKey:@"address"]; [dict setObject:@"rose" forKey:@"name"];</span>
移除键值对
<span style="font-size:14px;"> [dict removeObjectForKey:<#(id)#>];</span>
<span style="font-size:14px;"> NSString *str = dict[@"name"];</span><span style="font-size: 11px;"></span>
字典
key ----> value
索引 ----> 文字内容
里面存储的东西都是键值对
<span style="font-size: 11px;"> </span><span style="font-size:14px;"> NSDictionary *dict = [NSDictionarydictionaryWithObject:@"jack" forKey:@"name"]; NSArray *keys = @[@"name", @"address"]; NSArray *objects = @[@"jack", @"北京"]; NSDictionary *dict = [NSDictionary dictionaryWithObjects:objectsforKeys:keys];</span>
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: @"jack", @"name", @"北京",@"address", @"32423434", @"qq", nil];*/ NSDictionary *dict = @{@"name" : @"jack",@"address" : @"北京"}; // id obj = [dict objectForKey:@"name"]; id obj = dict[@"name"]; NSLog(@"%@", obj);
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
0 0
- 黑马程序员一NSSet, NSDictionary
- 黑马程序员__集合NSArry,NSSet,NSDictionary的总结
- 黑马程序员——类集合之NSArray,NSSet,NSDictionary
- 黑马程序员_Foundation学习之NSSet、NSDictionary、NSNumber、NSValue、NSDate
- 黑马程序员——Foundation---NSSet,NSDictionary,NSNumber,NSDate,NSValue
- 黑马程序员--NSArray,NSString,NSSet,NSDictionary,NSNumber,NSValue 及其可变(NSMutable..)
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- 黑马程序员----字典、NSDictionary
- 黑马程序员---NSDictionary字典
- 黑马程序员---NSDictionary\NSMutableDictionary
- 黑马程序员--ios基础--oc-foundation--NSSet、NSDictionary、NSNumber、NSValue、NSDate
- 04.黑马程序员-NSSet、NSMutableSet
- 黑马程序员-Foundation框架-NSDictionary
- 05.黑马程序员-NSDictionary、NSMutableDictionary
- 黑马程序员----NSDictionary类使用
- 黑马程序员---Objective-C NSDictionary
- 【黑马程序员】Foundation框架NSDictionary
- 黑马程序员--NSDictionary的使用
- STL之 next_permutation
- palyframework学习日记一二三四
- 数组-12. 简易连连看(20)
- 漫游Kafka设计篇之Producer和Consumer
- Linux中Man Page的含义
- 黑马程序员一NSSet, NSDictionary
- NYOJ306 走迷宫(dfs+二分搜索)
- Codeforces Round #291 (Div. 2)E(DP+矩阵)
- 漫游Kafka设计篇之主从同步
- Fusionchart
- CodeChef March Challenge 2015
- Android Studio 如何引用 .so文件
- java基础面试题
- 漫游Kafka实战篇之客户端API