2011-05-26 57 views
0

在我的应用程序中,我的表格视图上方有一个搜索栏。我的问题是这样的:在正确的位置更新Core Data的UISearchBar数据源

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

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

,我的搜索栏使用从核心数据加载的所有项目到位于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中没有运行后,我添加了最后一个项目,那是我的问题。但是我不知道应该把这个代码放在哪里,它会随着任何已经添加的项目而更新。

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

回答

0

做同样的事情viewWillAppear ..things将是正确的。

+0

谢谢你的回应。我试图把它放在那里,但由于某种原因,当我这样做时,我的核心数据不会返回任何内容。 – ranonk 2011-05-26 16:59:43

+0

我的问题是与搜索谓词...良好的调用viewWillAppear虽然。 – ranonk 2011-05-27 01:32:35