我找到了一个完美的答案来通过NSFetchedResultsController搜索:https://dev59.com/wW855IYBdhLWcg3wNhd1#4481896
编辑:显示问题的项目:http://cl.ly/2x0C0N0E4240
它似乎非常棒,但它没有编写使用ARC,我尝试只删除所有“retain”、“release”和“autorelease”。
它仍然有效,大部分情况下都可以,问题是,当我在搜索栏中输入一个字符时,它按预期显示过滤后的表格,但它只需要1个字符(如果您添加更多字符则不会发生任何事情),之后每次其他“搜索”都将显示第一个搜索结果。只需1个字符。
我已经在这上面花了两天时间,随处放置NSlog以查看何时调用每个方法,但仍然无法找到如何使其工作:(
谢谢!
编辑: 这是.m http://pastebin.com/9U4TfbA6 编辑:这里是.h http://pastebin.com/S9aaNRFE 此外,如果它有帮助,当我评论时搜索起作用:
但它会破坏其他东西 :/
它仍然有效,大部分情况下都可以,问题是,当我在搜索栏中输入一个字符时,它按预期显示过滤后的表格,但它只需要1个字符(如果您添加更多字符则不会发生任何事情),之后每次其他“搜索”都将显示第一个搜索结果。只需1个字符。
我已经在这上面花了两天时间,随处放置NSlog以查看何时调用每个方法,但仍然无法找到如何使其工作:(
谢谢!
编辑: 这是.m http://pastebin.com/9U4TfbA6 编辑:这里是.h http://pastebin.com/S9aaNRFE 此外,如果它有帮助,当我评论时搜索起作用:
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController_! = nil)
{
return fetchedResultsController_;
}
...
}
And this :
- (NSFetchedResultsController *)searchFetchedResultsController {
if (searchFetchedResultsController_ != nil)
{
return searchFetchedResultsController_;
}
...
}
但它会破坏其他东西 :/