ios - UItableview在内容中加载缓慢的ios
问题描述
我有一个应用程序,我在其中过滤重复的联系人我已经实现了该功能,但问题是它对于少数联系人来说很快,因为联系人更多,加载也变得很慢。下面是我正在使用的代码块
-(void)loadDuplicateContacts{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[addressBook loadContacts:^(NSArray<APContact *> * _Nullable contacts, NSError * _Nullable error) {
NSMutableArray *duplucateDataArray = [[NSMutableArray alloc] init];
duplucateDataArray = [contacts mutableCopy];
duplicateContactsArray = [[NSMutableArray alloc] init];
duplicateContactsDictinary = [[NSMutableDictionary alloc] init];
self.dictionaryKeys = [NSArray new];
for (APContact *contact in duplucateDataArray) {
NSMutableArray *countArray = [[NSMutableArray alloc] init];
[duplucateDataArray enumerateObjectsUsingBlock:^(APContact *obj, NSUInteger idx, BOOL *stop)
{
if ([JustNumber([obj.phones[0] number]) isEqualToString:JustNumber([contact.phones[0] number])])
{
[countArray addObject:contact.name.compositeName];
}
}];
if (countArray.count > 1) {
if (duplicateContactsDictinary[JustNumber([contact.phones[0] number])]) {
NSMutableArray *retriveArray = [[NSMutableArray alloc] init];
retriveArray = [duplicateContactsDictinary objectForKey:JustNumber([contact.phones[0] number])];
[retriveArray addObject:contact];
[duplicateContactsDictinary setObject:retriveArray forKey:JustNumber([contact.phones[0] number])];
}else{
NSMutableArray *contactCreationArray = [[NSMutableArray alloc] init];
[contactCreationArray addObject:contact];
[duplicateContactsDictinary setObject:contactCreationArray forKey:JustNumber([contact.phones[0] number])];
}
[duplicateContactsArray addObject:contact];
}
}
dispatch_async(dispatch_get_main_queue(), ^(void) {
[self.tableView reloadData];
});
}];
});
}
任何建议都会更有帮助
解决方案
推荐阅读
- c# - 如何在 C# 中实现与 SQL/MYSQL 相同的 DynamoDB 分页(项目总数,我可以跳转到任何其他页面)
- qlikview - 使用 Qlik Sense 从数据库加载数组对
- assembly - 汇编程序(在 MARIE 中),如何填写第一遍和第二遍?
- ruby-on-rails - Cucumber/Capybara 测试在应该通过时失败
- python - .xls 文件超过最大行数
- mysql - 在字符串中查找子字符串但不遵循命令
- c - 我应该使用哪个占位符,为什么?
- smb - SMB 访问掩码 - MAXIMUM_ALLOWED 与 GENERIC_ALL
- r - 从 Twitter 中提取推文
- javascript - amCharts 5:是否可以旋转轴刻度标签?