我有一份食物清单(例如苹果,梨,香蕉等)。假设用户输入“appl”,我希望我的应用程序在此列表中返回前5个(数字5是任意的)最接近的结果。实现这个的好算法/数据结构是什么?
答案 0 :(得分:0)
您应该从数据库中获取所有数据并将其存储在数组中,然后如果您使用搜索栏 -
(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar;
使用此方法并应用逻辑来搜索
之类的内容for(NSString *curString in backUpArayForAllFiles) {
flagCountForSearch++;
if ([curString rangeOfString:substring options:NSCaseInsensitiveSearch].location == NSNotFound)
{
}
else
{
}
答案 1 :(得分:0)
通常的方法是使用UISearchDisplayController来实现UISearchDisplayDelegate协议 - 并使用NSPredicate(NSFetchResultsController)来过滤表格。 我认为这可能有所帮助:NSFetchedResultsController with search