博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发之oc(二十)--Foundation(5)NSDictionary
阅读量:4677 次
发布时间:2019-06-09

本文共 2644 字,大约阅读时间需要 8 分钟。

/*

 集合

 1.NSArray\NSMutableArray

有序

快速创建(不可变):@[obj1, obj2, obj3]

•快速访问元素:数组名[i]

  2.NSSet\NSMutableSet

无序

 3.NSDictionary\NSMutableDictionary

无序

快速创建(不可变):@{key1 : value1,  key2 : value2}

•快速访问元素:字典名[key]

 */

 

NSDictionary:字典

 

代码示例

1>

void create(){/*     字典:          key ----> value     索引 ----> 文字内容          里面存储的东西都是键值对    */    // 字典创建方式    // NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];         // NSArray *keys = @[@"name", @"address"];    // NSArray *objects = @[@"jack", @"北京"];        // NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];       /*     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); // 返回的是键值对的个数 NSLog(@"%ld", dict.count);}

2> 基本使用

void use1(){    NSMutableDictionary *dict = [NSMutableDictionary dictionary];        // 添加键值对    [dict setObject:@"jack" forKey:@"name"];           [dict setObject:@"北京" forKey:@"address"];        [dict setObject:@"rose" forKey:@"name"];           // 移除键值对    // [dict removeObjectForKey:<#(id)#>];           NSString *str = dict[@"name"];          //NSLog(@"%@", str);        NSLog(@"%@", dict);           //NSLog(@"%@", @[@"jack", @"rose"]);}void use2(){    NSMutableDictionary *dict = @{
@"name" : @"jack"}; [dict setObject:@"rose" forKey:@"name"];}void use3(){ // 字典不允许有相同的key,但允许有相同的value(Object) // 字典的无序的 NSDictionary *dict = @{ @"address" : @"北京", @"name" : @"jack", @"name2" : @"jack", @"name3" : @"jack", @"qq" : @"7657567765"}; // NSArray *keys = [dict allKeys]; // // for (int i = 0; i
#import 
int main(){ NSArray *persons = @[ @{
@"name" : @"jack", @"qq" : @"432423423", @"books": @[@"5分钟突破iOS编程", @"5分钟突破android编程"]}, @{
@"name" : @"rose", @"qq" : @"767567"}, @{
@"name" : @"jim", @"qq" : @"423423"}, @{
@"name" : @"jake", @"qq" : @"123123213"} ]; // NSDictionary *jim = persons[2]; NSString *bookName = persons[0][@"books"][1]; NSLog(@"%@", bookName); //NSArray *array = persons[0][@"books"]; //NSLog(@"%@", array); // 先取出1位置对应的字典 // 再取出字典中qq这个key对应的数据 //NSLog(@"%@", persons[1][@"qq"]); // NSLog(@"%@", jim); return 0;}

 

 

代码是以前学习时照着李明杰老师的视频敲的,再次,向他表示感谢;李老师说的很好,推荐大家去看,他交的不是编程,而是一种思想,让我受益匪浅。

 

转载于:https://www.cnblogs.com/iOSteemo/p/4301920.html

你可能感兴趣的文章
转: 环信联合创始人:App主流反垃圾服务难点和技术实现全解析
查看>>
关于类型转换这件事
查看>>
[转]30分钟,让你成为一个更好的程序员
查看>>
《使用Hibernate开发租房系统》内部测试笔试题
查看>>
矩阵的奇异值与特征值
查看>>
窗体切换中的小技巧
查看>>
day10作业
查看>>
2013-5-11 湘潭多省程序设计 赛后总结
查看>>
SEO页面优化
查看>>
读构建之法第一天
查看>>
Redis(二)、Redis持久化RDB和AOF
查看>>
浅谈OC内存管理
查看>>
关于TortoiseSVN的一些知识
查看>>
mysql优化
查看>>
Node.js Web 模块
查看>>
Factory Method(工厂方法)
查看>>
英语口语考试资料Language learning
查看>>
关于TreeSet倒序排列和自定义排列
查看>>
CodeForces 234Div2
查看>>
Vim笔记
查看>>