所以我有一个TableView应用程序,您可以通过searchDisplayController在顶部使用搜索栏来收藏某些项目。我有一个从tableview到另一个视图控制器的推送segue(你在那里进行收藏/取消收藏)。当你喜欢/不喜欢常规表视图中的东西(而不是搜索)时它工作正常,但是当你搜索它时它不起作用。它在“收藏夹”部分中创建一行,但不会删除常规部分中的行。这是我的代码设置收藏夹/非收藏夹
if ([array2 containsObject:self.navigationItem.title]) {
//favorites already contains the item to favorite
//delete from favorites section
[array2 removeObjectIdenticalTo:self.navigationItem.title];
[[NSUserDefaults standardUserDefaults] setObject:[array2 sortedArrayUsingSelector:
@selector(localizedCaseInsensitiveCompare:)] forKey:string];
[[NSUserDefaults standardUserDefaults] synchronize];
//add to other section
[theArray2 addObject:self.navigationItem.title];
[[NSUserDefaults standardUserDefaults] setObject:[theArray2 sortedArrayUsingSelector:
@selector(localizedCaseInsensitiveCompare:)] forKey:string2];
[[NSUserDefaults standardUserDefaults] synchronize];
} else {
//not already in favorites
//add to favorites
NSLog(@"Title: %@",self.navigationItem.title);
[array2 addObject:self.navigationItem.title];
[[NSUserDefaults standardUserDefaults] setObject:[array2 sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] forKey:string];
[[NSUserDefaults standardUserDefaults] synchronize];
//delete from other
[theArray2 removeObjectIdenticalTo:self.navigationItem.title];
[[NSUserDefaults standardUserDefaults] setObject:[theArray2 sortedArrayUsingSelector:
@selector(localizedCaseInsensitiveCompare:)] forKey:string2];
[[NSUserDefaults standardUserDefaults] synchronize];
}
导航标题是我在tableview中想要的描述。我将它排序为按字母顺序排序,这是sortedarrayusingselector的内容。任何想法,为什么它会在你不进行搜索时起作用,但是当你不进行搜索时呢?谢谢 -
答案 0 :(得分:0)
问题是removeObjectIdenticalTo:。固定它。