代码无法从SearchDisplayController工作

时间:2014-05-09 01:53:13

标签: ios uisearchdisplaycontroller

所以我有一个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的内容。任何想法,为什么它会在你不进行搜索时起作用,但是当你不进行搜索时呢?谢谢 -

1 个答案:

答案 0 :(得分:0)

问题是removeObjectIdenticalTo:。固定它。