为 iPhone 应用程序实现搜索建议

Posted

技术标签:

【中文标题】为 iPhone 应用程序实现搜索建议【英文标题】:Implementing a search suggestions for iPhone app 【发布时间】:2012-03-05 09:43:11 【问题描述】:

我有一份食物清单(例如苹果、梨、香蕉等)。假设用户键入“appl”,我希望我的应用程序返回此列表中最接近的前 5 个(数字 5 是任意的)结果。什么是实现这个的好的算法/数据结构?

【问题讨论】:

【参考方案1】:

您应该从数据库中获取所有数据并将其存储在一个数组中,然后如果您使用搜索栏 -

(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar;                    

使用此方法并应用逻辑来搜索类似

for(NSString *curString in backUpArayForAllFiles) 
            flagCountForSearch++;
            if ([curString rangeOfString:substring options:NSCaseInsensitiveSearch].location == NSNotFound) 
            
    
    else 
    
    

【讨论】:

【参考方案2】:

通常的方法是使用 UISearchDisplayController 来实现 UISearchDisplayDelegate 协议 - 并使用 NSPredicate (NSFetchResultsController) 过滤表。 我认为这可能会有所帮助:NSFetchedResultsController with search

【讨论】:

以上是关于为 iPhone 应用程序实现搜索建议的主要内容,如果未能解决你的问题,请参考以下文章

你如何为 iPhone 实现横向启动屏幕?

添加到主屏幕时 iPhone webapp 中断

无法在 iphone 应用程序中显示搜索栏

Salesforce iPhone 应用程序的推送通知

补充二叉搜索树C++版实现(建议看这)和应用

为 iPhone 应用程序实现 RESTful Web API 的最便宜的方式(平台/语言)?