亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

IOS字典NSDictionary與NSMutableDictionary知識點

2019-11-14 18:40:30
字體:
來源:轉載
供稿:網友

 

字典中的元素是以鍵值對的形式存儲的,鍵值對的鍵和值,都是任意的對象,但是鍵往往使用字符串,字典存儲對象的地址沒有順序,字典的遍歷分為:鍵的遍歷和值的遍歷,字典與數組的區別:數組講究順序,而字典可以快速幫助我們找到數據,數據是我們的目的,鍵是我們的手段;其中NSMutableDictionary是NSDictionary的子類,所以其擁有NSDictionary所有的功能;主要是一些常見的操作,別外一些操作見其相應的文檔,下面的代碼部分還運用的第三方插件BlocksKit相結合;

a:NSDictionary是由鍵值對(key-value)組成的數據集合
b:鍵:可以是任何對象 (通常是NSString類型的對象),同時鍵必須是單值
c:值:可以是任何對象,不能為nil
d:常用方式:我們根據鍵來查找相應值
e:字典有可變的和不可變的,可變的字典中可動態的添加和刪除元素
f:和數組不同,字典是無序的

1:NSDictionary一些常見的操作

 

//創建詞典    NSDictionary *dictionary=[NSDictionary dictionaryWithObjectsAndKeys:@"wujy",@"name",@29,@"age",nil];    NSInteger Count=[dictionary count];    NSLog(@"詞典的個數為%ld",Count);        //得到詞典中的所有key    NSEnumerator *enumeratorkey=[dictionary keyEnumerator];    for (NSObject *obj in enumeratorkey) {        NSLog(@"key為:%@",obj);        NSLog(@"通過key找到value值為:%@",[dictionary objectForKey:obj]);    }        //得到詞典中的所有value值    NSEnumerator *enumeratorvalue=[dictionary objectEnumerator];    for (NSObject *obj in enumeratorvalue) {        NSLog(@"value為:%@",obj);    }        //簡便的方式創建 key排前面value排后面    NSDictionary *newDictionary=@{@"name":@"wujy",@"age":@29};    NSArray *keyArray=[newDictionary allKeys];    for (NSObject *obj in keyArray) {        NSLog(@"key的值為:%@",obj);    }        NSArray *valueArray=[newDictionary allValues];    for (NSObject *obj in valueArray) {        NSLog(@"value的值為:%@",obj);    }        //blocks插件    NSDictionary *blockDictionary=[NSDictionary dictionaryWithObjects:[[NSArray alloc] initWithObjects:@3,@15,@29,nil] forKeys:[[NSArray alloc] initWithObjects:@"IOS",@"work",@"age",nil]];    //遍歷    [blockDictionary bk_each:^(id key, id obj) {        NSLog(@"使用blocks的key為:%@",key);        NSLog(@"對應的value為:%@",obj);    }];        //過濾 只在第一個符合條件時就停止

NSDictionary *matchDictionary=[blockDictionary bk_match:^BOOL(id key, id obj) {
        BOOL select=[obj intValue]<10?YES:NO;        return select;    }];    NSLog(@"match符合的項為:%@",matchDictionary);        //過濾    NSDictionary *selectDictionary=[blockDictionary bk_select:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>10?YES:NO;        return select;    }];    NSLog(@"select符合的項為%@",selectDictionary);        //反向過濾    NSDictionary *rejectDictionary=[blockDictionary bk_reject:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>10?YES:NO;        return select;    }];    NSLog(@"reject符合的項為%@",rejectDictionary);        //對各個項進行修改    NSDictionary *mapDictinary=[blockDictionary bk_map:^id(id key, id obj) {        return [NSNumber numberWithInt:[obj intValue]+1];    }];    NSLog(@"map修改后的項為%@",mapDictinary);        //是否符合條件 返回bool    BOOL isSelected=[blockDictionary bk_any:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>20?YES:NO;        return select;    }];    NSLog(@"%d符合條件",isSelected);        //判斷是否所有的項都符合這個條件    BOOL allSelected=[blockDictionary bk_all:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>20?YES:NO;        return select;    }];    NSLog(@"%d符合條件",allSelected);        //判斷是否所有的項都不符合這個條件    BOOL noneSelected=[blockDictionary bk_none:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>50?YES:NO;        return select;    }];    NSLog(@"%d符合條件",noneSelected);

 

2:NSMutableDictionary一些常見的操作

    //創建一個nsmutabledictionary    NSMutableDictionary *mutableDictionary=[NSMutableDictionary dictionaryWithCapacity:3];    [mutableDictionary setObject:@"wujy" forKey:@"name"];    [mutableDictionary setObject:@"VEVb.com/wujy" forKey:@"webName"];    [mutableDictionary setObject:@29 forKey:@"age"];        //得到詞典中的所有key    NSEnumerator *enumeratorkey=[mutableDictionary keyEnumerator];    for (NSObject *obj in enumeratorkey) {        NSLog(@"key為:%@",obj);        NSLog(@"通過key找到value值為:%@",[mutableDictionary objectForKey:obj]);    }        //刪除其中一個key    [mutableDictionary removeObjectForKey:@"name"];    NSLog(@"刪除name的key以后值:%@",mutableDictionary);        [mutableDictionary removeAllObjects];    NSLog(@"刪除所有以后,可變詞典個數為%ld",[mutableDictionary count]);        //blocks    //過濾    NSMutableDictionary *newmutableDictionary=[NSMutableDictionary dictionaryWithDictionary:@{@"IOS":@3,@"work":@13,@"age":@29}];    [newmutableDictionary bk_performSelect:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>10?YES:NO;        return select;    }];    NSLog(@"過濾后的可變詞典為(29,13)%@",newmutableDictionary);        //取反過濾    [newmutableDictionary bk_performReject:^BOOL(id key, id obj) {        BOOL select=[obj intValue]>20?YES:NO;        return select;    }];    NSLog(@"取反過濾的可變詞典為(13)%@",newmutableDictionary);        //修改各個項的結果    [newmutableDictionary bk_performMap:^id(id key, id obj) {        return @([obj intValue]+1);    }];    NSLog(@"修改后的可變詞典為(14)%@",newmutableDictionary);

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
懂色aⅴ精品一区二区三区蜜月| 国产99久久精品一区二区| 欧美日韩一区二区三区| 日韩av影视在线| 啪一啪鲁一鲁2019在线视频| 欧美日韩999| 国产精品青草久久久久福利99| 色综合天天综合网国产成人网| 久久久999国产精品| 欧洲一区二区视频| 26uuu国产精品视频| 91国产高清在线| 久久久91精品国产一区不卡| 国内精品久久久久影院优| 欧美成人精品xxx| 欧美三级欧美成人高清www| 久久久久中文字幕2018| 亚洲一区二区三区成人在线视频精品| 精品久久久久久中文字幕大豆网| 日韩一区在线视频| 亚洲韩国欧洲国产日产av| 欧洲精品久久久| 色婷婷av一区二区三区久久| 亚洲第一视频网站| 成人在线免费观看视视频| 蜜臀久久99精品久久久久久宅男| 国产精品欧美一区二区三区奶水| 欧美视频在线观看免费网址| 欧美第一黄网免费网站| 日韩av在线网页| 欧美黑人狂野猛交老妇| 国产日韩综合一区二区性色av| 亚洲精品国产欧美| 久久久久久久久久久网站| 亚洲免费视频观看| 日本三级韩国三级久久| 国产成人高清激情视频在线观看| 高跟丝袜一区二区三区| 欧美最猛性xxxxx亚洲精品| 国产精品电影网站| 日韩精品极品视频| 国产精品丝袜一区二区三区| 亚洲视频axxx| 成人久久18免费网站图片| 精品视频在线导航| 精品久久久久久中文字幕| 国产色视频一区| 国产精品9999| 中文字幕亚洲一区在线观看| 在线观看欧美成人| 亚洲视频专区在线| 97在线视频观看| 韩国日本不卡在线| 在线视频欧美日韩精品| 精品无人区乱码1区2区3区在线| 久久精品成人欧美大片| 亚洲天堂2020| 亚洲国产成人爱av在线播放| 午夜精品久久久久久久男人的天堂| 欧美激情精品久久久| 亚洲色图偷窥自拍| 亚洲人成电影网站色…| 亚洲成avwww人| 青青草原一区二区| 精品一区二区电影| 国内精品模特av私拍在线观看| 久久国产天堂福利天堂| 超碰91人人草人人干| 欧美激情图片区| 欧美老妇交乱视频| 成人免费视频a| 国产日韩欧美综合| 久久天天躁狠狠躁夜夜av| 一区二区成人av| 国产精品视频久久久久| 精品久久久久久久久久久| 久久久欧美一区二区| 97人人模人人爽人人喊中文字| 91精品国产自产在线| 日韩理论片久久| 欧美大片欧美激情性色a∨久久| 欧美成人激情图片网| 亚洲精品黄网在线观看| 91天堂在线视频| 久久99亚洲热视| 久久综合电影一区| 成人a在线观看| 尤物99国产成人精品视频| 国产高清视频一区三区| 97视频在线看| 色综合五月天导航| 欧美日韩国产一区二区三区| 日韩精品在线视频| 亚洲第一网中文字幕| 神马久久久久久| 亚洲精品成人免费| 97香蕉久久夜色精品国产| 国产亚洲人成a一在线v站| 色综合色综合网色综合| 成人国产精品久久久久久亚洲| 成人高清视频观看www| 国产日韩综合一区二区性色av| 日韩在线视频一区| 色偷偷91综合久久噜噜| 国产精品久久久久久久久久久久久久| 国产精品久久久久久久久久99| 欧美性生活大片免费观看网址| 久久国产精品99国产精| 亚洲专区中文字幕| 亚洲国产婷婷香蕉久久久久久| 久久精品免费电影| 欧美一级高清免费播放| 欧美日韩国产中字| 久久久久999| 国a精品视频大全| 亚洲欧美日韩在线一区| 伊人一区二区三区久久精品| 国产九九精品视频| 欧美午夜精品在线| 亚洲香蕉av在线一区二区三区| 亚洲乱码国产乱码精品精天堂| 狠狠躁18三区二区一区| 国产精品美女久久久久久免费| 欧美成人精品在线观看| 欧美综合在线观看| 精品亚洲国产成av人片传媒| 午夜精品在线观看| 啪一啪鲁一鲁2019在线视频| 欧美精品中文字幕一区| 久久久久久久影院| 亚洲欧洲视频在线| 欧美视频一区二区三区…| 日本三级韩国三级久久| 亚洲色图35p| 午夜欧美不卡精品aaaaa| 亚洲午夜精品久久久久久久久久久久| 欧美中文在线视频| 美日韩在线视频| 国产成人在线一区| 欧美丰满少妇xxxxx做受| 亚洲精品国产精品乱码不99按摩| 日韩精品中文字| 日韩女在线观看| 国产精品免费看久久久香蕉| 一区二区三区四区在线观看视频| 欧美一级免费视频| 亚洲大胆美女视频| 亚洲大尺度美女在线| 5566成人精品视频免费| 欧美电影在线免费观看网站| 亚洲免费人成在线视频观看| 日韩一区二区三区国产| 成人免费看黄网站| 麻豆国产精品va在线观看不卡| 国产成人啪精品视频免费网| 亚洲xxxx做受欧美| 91精品视频在线播放| 欧美性在线观看| 成年人精品视频| 国产日韩欧美日韩大片| 国产成人高清激情视频在线观看| 91综合免费在线| 欧美视频精品一区| 久久免费成人精品视频|