我认为最干净的解决方案是:
- 创建一个可以将工作卸载到服务器并返回响应的 Web 服务。由于听起来您正在构建 Web 保护服务,因此随着时间的推移,您的数据库可能会变得非常庞大,您可以扩展您的服务器以提高其速度。此外,您不希望每次查找数据更改时都更新您的应用程序。
其他选项包括:
示例代码:
NSDictionary *searchDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"google.com",
[NSNumber numberWithBool:YES], @"yahoo.com",
[NSNumber numberWithBool:YES], @"bing.com",
nil];
NSString *searchString = @"bing.com";
if ([searchDictionary valueForKey:searchString]) {
// search string found
} else {
// search string not found
}
注意:如果您希望 NSDictionary 执行不区分大小写的比较,请预先加载所有值小写,并在使用 valueForKey: 时将搜索字符串设为小写。
这可能需要多少内存是另一回事,但我看不出这种比较如何在本地更快地进行。不过,我强烈推荐删除 Web 服务方法。