使用NSDictionary从NSMutableArray获取特定字符串

3 iphone objective-c nsdictionary nsmutablearray ios

我正在学习iphone应用程序的开发和工作,可以让你输入两个单词并将它们组合起来.将这两个单词和组合单词输入到字典中,然后将其存储在可变数组中.还有另一个选项允许您输入整个单词,如果它在数组中,它将返回两个单独的单词.我的问题是我不知道如何搜索数组并浏览每个对象并找出答案.例如:

(
    {
    "Combined Word" = snowman;
    "Word 1" = snow;
    "Word 2" = man;
},
    {
    "Combined Word" = dirtbike;
    "Word 1" = dirt;
    "Word 2" = bike;
},
    {
    "Combined Word" = schoolbus;
    "Word 1" = school;
    "Word 2" = bus;
},
    {
    "Combined Word" = raindrop;
    "Word 1" = rain;
    "Word 2" = drop;
}
Run Code Online (Sandbox Code Playgroud)

如果我输入schoolbus并按下按钮,我该如何编码以便搜索可变数组并分析每个对象的"组合字",这样输入的单词就是一个值,它将返回相应的"Word 1"和"字2".

HRM*_*HRM 5

我不知道是否有更好或更有效的方法,但我可以尝试这样的事情:

NSString* word1;
NSString* word2;
for(NSDictionary *dict in yourArray){
   if([[dict objectForKey:@"Combined Word"] isEqualToString:yourSearchWord]]){
       word1 = [dict objectForKey:@"Word 1"];
       word2 = [dict objectForKey:@"Word 2"]; 
   }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这是一个拼写错误,并没有签入XCode.

  • 另一个优化是在`if`中添加`break;`.找到匹配后无需检查数组的其余部分. (2认同)