这似乎是一件很容易解决的事情,但到目前为止我还没有想出一个简单的解决方案。
我有一个 NSArray,其中包含一些如下所示的字符串:
NSArray *items = [NSArray arrayWithObjects:@"page_standard", @"google_map_location", @"comment", @"folder", nil];
我提供了一个搜索词,但格式略有不同:
NSString *searchTerm = @"Standard Page Format";
另一个术语可能是:
NSString *searchTerm = @"Location Google Map";
因此,即使我的 searchTerm
的格式与数组中的 page_standard
字符串的格式不同,我仍然希望它匹配,并且能够返回匹配。
注意:这不是用户可编辑的搜索。相反,这些是这些代码的“代码”和“友好名称”。我需要将两者匹配,以便“友好名称”可以找到匹配的“代码”。
这可能吗?
最佳答案
如果预先知道术语集,并且用户从列表而不是自由格式文本条目中进行选择,则只需创建一个字典,将“友好”术语映射到内部术语:
NSDictionary *internalTermForFriendlyTerm = @{
@"Standard Page Format": @"page_standard",
@"Location Google Map": @"google_map_location",
// etc.
};
...
NSString *internalTerm = internalTermForFriendlyTerm[searchTerm];
您可以将字典存储在属性列表文件中,以便在运行时轻松更新。
关于objective-c - 使用 NSString 作为搜索项来查找 NSArray 项目索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13500879/