从传递的数据中自动删除重复项或不在uitableview中创建重复项
我有一个从传递的数据中自动删除重复项或不在uitableview中创建重复项,uitableview,uiwebview,nsmutablearray,duplicates,Uitableview,Uiwebview,Nsmutablearray,Duplicates,我有一个uiwebview,它将加载的页面url发送到uitableview,以保留访问站点的历史记录。它工作得很好,只是有几个站点暂时暂停加载,这会导致创建另一个url引用。尝试去redmondpie.com,我的访问列表中有50个redmondpie.com链接。我这样做是错误的还是有代码可以用来阻止页面加载时反复创建链接。我想最好的选择是,如果url就在正在创建的url旁边,那么就不要创建它,或者别的什么。这就是它现在的加载方式 - (void)webViewDidFinishLo
uiwebview
,它将加载的页面url发送到uitableview
,以保留访问站点的历史记录。它工作得很好,只是有几个站点暂时暂停加载,这会导致创建另一个url引用。尝试去redmondpie.com,我的访问列表中有50个redmondpie.com链接。我这样做是错误的还是有代码可以用来阻止页面加载时反复创建链接。我想最好的选择是,如果url就在正在创建的url旁边,那么就不要创建它,或者别的什么。这就是它现在的加载方式
- (void)webViewDidFinishLoad:(UIWebView *)webView {
urlField.text = [[[[self webView]request] URL] absoluteString];
{
NSMutableArray *history = [[[NSUserDefaults standardUserDefaults] arrayForKey:@"History"] mutableCopy];
if (!history) {
history = [[NSMutableArray alloc] init];
}
NSString *newString =
[urlField.text stringByReplacingOccurrencesOfString:@"http://" withString:@""]
urlField.text = [NSString stringWithFormat:@"%@", newString];
[history addObject:newString];
[[NSUserDefaults standardUserDefaults] setObject:history forKey:@"History"];
}
通过更改以下内容,在添加前检查数组中的最后一个对象是否相同:
[history addObject:newString];
[[NSUserDefaults standardUserDefaults] setObject:history forKey:@"History"];
为此:
if (![newString isEqualToString:(NSString *)[history lastObject]]) {
[history addObject:newString];
[[NSUserDefaults standardUserDefaults] setObject:history forKey:@"History"];
}