如果對模型陣列裡相同內容進行去重複,首先每個模型要有個唯一的標識,一般資料庫都會有個主鍵 id, 服務端返回資料時會根據這個主鍵 id查詢資料.
下邊會以一個具體的例子來演示
這3條資料內容是一樣的 其中主鍵 id serviceId 都是一樣的 ,那麼我們根據每個模型裡的serviceId 進行陣列去重
具體程式碼如下
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];
for (NSArray *subArr in array) {
for (YVServiceListModel *model in subArr) {
[tmpDict setObject:model forKey:model.serviceId];
}
}
self.monitorOrderArray = [tmpDict.allValues mutableCopy];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
});
複製程式碼
通過Dictionary我們可以將模型資料放到一個字典裡, serviceId作為 Key 這樣出現重複的serviceId 可以將原來的值進行重新賦值,因為字典裡 key 是唯一的
去除重複後效果
好了,我是大兵布萊恩特,歡迎加入博主技術交流群,iOS 開發交流群