在正确的位置从Core Data更新UISearchBar数据源

时间:2011-05-26 15:28:32

标签: iphone uitableview core-data viewdidload

在我的应用中,我的表格视图上方有一个搜索栏。我的问题是:

如果我进入我的表视图并将一个项添加到层次结构的任何级别,然后返回到根(搜索栏所在的位置)并尝试搜索它,它不会显示在结果呢。

例如,如果我在启动应用程序时已经在核心数据中有itemOne和itemTwo,我可以搜索并找到它们。但是如果我添加itemThree并尝试搜索它,则找不到它。

我的搜索栏用于从Core Data加载所有项目的数组位于viewDidLoad方法中:

- (void)viewDidLoad 
{

    listOfItems = [[NSMutableArray alloc] init];

    NSMutableArray* allItemArray = [CoreDataHelper searchObjectsInContext:@"Item" :entitySearchPredicate :@"Description" :YES :managedObjectContext];
    NSDictionary *allItemDict = [NSDictionary dictionaryWithObject:allItemArray forKey:@"Items"];

    [listOfItems addObject:allItemDict];
}

我知道在添加最后一项后viewDidLoad没有运行,这就是我的问题。但我不知道在哪里放置这个代码,它会更新任何已添加的项目。

任何输入都表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

在viewWillAppear上做同样的事情..正好。