求助各路前輩,各路大神
我現在做一個通訊錄,我的思路是這樣的,因為通訊錄裡面是分部門的,如"人事部",“研發部”等,depList這個數組存的就是參數,key就是參數。例如:每次把「人事部」傳入這個參數,進行請求,回調函數就會回傳「人事部」的成員的數據,如此類推,每次需要傳入不同部門的參數,我把每個部門的資料返回來,加入可變數組「save1」裡面,然後最後寫入plist檔案。用tableview展示的時候再讀取plist來展示。
我現在遇到的問題是,經過多次循環後,得到了重複的數據,例如得到了兩組“人事部的數據”,我想應該是回調的時候,線程那裡出問題了。
求前輩們指點。
save1 = [NSMutableArray array];
// __block int k = 0;
for ( int i = 0; i < deptList.count; i++) {
__block NSString *key = deptList.allKeys[i];
NSLog(@"key%@",key);
[RMIUserManager getContacts:key callBack:^(NSDictionary *resultDic) {
// dispatch_async(dispatch_get_main_queue(), ^{
[save1 addObject:[resultDic objectForKey:@"contactInfo"]];
NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
// 拼接文件路径
NSString *path = [doc stringByAppendingPathComponent:@"contacts.plist"];
[save1 writeToFile:path atomically:YES];
// });
}];
}