字典數組字典
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;