美文网首页
plist文件取值

plist文件取值

作者: BrumeLoong | 来源:发表于2017-11-06 00:34 被阅读0次

字典数组字典

plist文件取值情况

首先

从用读取plist文件

1在定义array 从字典取出字典的key(如果是有序的key 不如字母A-Z)

2如果无序 那么也可以根据字典中 数组类型的value取出里面字典

那么以上2种情况在后面的操作也会不一样

如果是1在去分组个数的时候需要用个nsstirng类型的值去接收数组的值像下面这样

NSString*key =_array[section];

那么这个Key就是字母A-Z

然后再用根字典去遍历key 那么得到的就是数组下面的字典的值NSArray*arr =_dic[key];

最后在分组个数的方法里面直接return 数组的count值就行

然后再cell里面获取值的时候 需要先将存key值的数组通过

NSString*key =_array[indexPath.section];拿到里面的key然后再用根字典去遍历key 那么得到的就是数组下面的字典的值NSArray*arr =_dic[key]; 再将arr中的没一行取出赋值给字典NSDictionary*dic = arr[indexPath.row];最后再将值传给实体类

如果是第二种情况后面是通过语法糖遍历字典下面类型为array的value值_array= dic[@"news"];

在后面设置分组的行数的时候就能够直接返回return_array.count;

而在cell里面赋值的时候也能直接从数组中取出行数赋值给字典 在由字典传给实体对象NSDictionary*dic =_array[indexPath.row];

NewsData*news = [NewsDatanew];

[newssetValuesForKeysWithDictionary:dic];

数组 字典 数组 字典

其实这个和字典数组字典情况相似 只是外层多了个数组

假如外层数组有3个字典 每个字典里面有1个数组  每个数组里面有几条字典保存的值

他取值的时候是先通过数组得到plist文件里面的字典

然后用for in  遍历出字典

for(NSMutableDictionary*dicinarray)

里面要再定义一个字典去遍历数组下 字典的key值

用数组加以保存

[_arrayaddObject:dic[@"name"]];

[_arrayaddObject:dic[@"name"

]];

NSLog(@"%ld",dic.count);

//            [_array1 addObject:dic[@"kind"]];

在这里  需要再用一个数组去保存kind的值 再添加进全局数组 不然只会取到单一kind下的值

NSArray*arr = dic[@"kind"];

[_array1addObject:arr];

]

在cell传值的时候 值用数组来接收的  里面有3个相同的kind组 所以要先遍历出数组的每个kind分组的值NSArray*arr =_array1[indexPath.section];

这就是没个kind下的每条数据  然后再遍历每行 用字典来接收NSDictionary*dic = arr[indexPath.row];

最后赋值给实体对象 再传值AppleWatch*app = [AppleWatchnew

];

[app

setValuesForKeysWithDictionary:dic];

cell.appw= app;

相关文章

网友评论

      本文标题:plist文件取值

      本文链接:https://www.haomeiwen.com/subject/knrkmxtx.html