我正在学习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;
}
如果我输入schoolbus并按下按钮,我如何编码以便搜索可变数组并分析每个对象的“组合字”,这样输入的单词就是一个值,它将返回相应的“Word 1” “和”Word 2“。
答案 0 :(得分: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"];
}
}
请注意,这是一个拼写错误,并且未在XCode中签入。
答案 1 :(得分:2)
使用NSPredicate
NSString *value= @"value1";
NSPredicate *key1Predicate = [NSPredicate predicateWithFormat:@"%@ IN self.@allValues", value];
NSArray *filteretSet1 = [dataSet filteredArrayUsingPredicate:key1Predicate];
NSLog(@"filteretSet1: %@",filteretSet1);
希望这会对您有所帮助。