gpt4 book ai didi

iphone - 在另一个数组中搜索数组元素 - iphone 应用程序

转载 作者:行者123 更新时间:2023-11-28 19:22:09 25 4
gpt4 key购买 nike

我正在开发一个 iPhone 应用程序,用户在其中输入几个单词,然后我需要在本地硬编码的长单词数组中查找它们(如果它们基本上存在的话)(我的情况解释起来更复杂,但可以说一个用户正在输入 5 个城市名称,我需要查找我的城市数组并让他知道哪些曾经存在)。

解决这个问题的最佳方法是什么?特别是因为有些名字可能是以句子的形式出现的(例如,有人可以输入:“the city of paris”,但我有“Paris”,所以还是不错的)。

可能有什么好的第 3 部分库吗?我绝对可以尝试手动执行此操作,但我确信有一些更好的解决方案。

谢谢。

最佳答案

我会使用 NSPredicate:

NSString *searchText = @"paris";  //user's input 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self LIKE[c] %@", searchText];
NSArray *results = [yourHardcodedArrayOfCities filteredArrayUsingPredicate:predicate];

这将使用主数组中的任何匹配结果填充 *results。谓词中的 [c] 指定不区分大小写,因此 Paris 将匹配 paris 或 pArIs。

编辑添加

如果您的搜索文本是一个句子,而不是在谓词中使用 LIKE(如我的原始答案所示),使用 CONTAINS 更容易找到匹配项。所以,你可以使用:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS[c] %@", searchText];

相同的结果,但更容易一些。这样,如果搜索字符串是“New York City”或“City of New York”,它仍会匹配您的硬编码条目“New York”。

这是一份关于使用谓词的 Apple 文档,您可能会发现它很有用:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pUsing.html

关于iphone - 在另一个数组中搜索数组元素 - iphone 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com