2017-01-08 373 views
0

我使用下面的代码来检查用户的姓是否存在于我的NSMutableArray(self.friendData)中。也就是说,即使用户的姓氏在字段“last name”中的self.friendData内部存在,它仍然返回语句的else部分(指出它不存在于数组中)。我怎样才能解决这个问题?检查NSMutableArray是否包含字符串

ViewController.m

NSMutableDictionary *viewParams2 = [NSMutableDictionary new]; 
    [viewParams2 setValue:@"friends" forKey:@"view_name"]; 
    [DIOSView viewGet:viewParams2 success:^(AFHTTPRequestOperation *operation, id responseObject2) { 

     self.friendData = (NSMutableArray *)responseObject2; 


     NSString *myFriend = [self.neighbourDetail objectForKey:@"last name"]; 

     if ([self.friendData containsObject:myFriend]) { 

      NSLog(@"It contains %@!", myFriend); 
      self.addFriend.hidden = YES; 

     } else { 
      NSLog(@"It does not contain %@", myFriend); 
      self.addFriend.hidden = NO; 
     } 


     [operation responseString]; 



    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"Failure: %@", [error localizedDescription]); 
    }]; 

self.friendData内容:

"field_friendbio" =   { 
      und =    (
           { 
        format = "<null>"; 
        "safe_value" = "There is currently no bio available for this user."; 
        value = "There is currently no bio available for this user."; 
       } 
      ); 
     }; 
     "field_lastname" =   { 
      und =    (
           { 
        format = "<null>"; 
        "safe_value" = Niyo; 
        value = Niyo; 
       } 
      ); 
     }; 

回答

0

除非friendData是一个字符串数组,我想你真正的意思是这样的:

if ([self.friendData containsObject:self.neighbourDetail]) 

编辑:

NSMutableArray *searchResults = [[NSMutableArray alloc] init]; 

[self.friendData enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 

    NSDictionary *friend = obj; 

    if ([friend[@"field_lastname"][@"und"][@"value "] isEqualToString:myFriend]) 
     [searchResults addObject:friend]; 
}]; 

NSLog(@"Search Results:%@", searchResults); 
+0

查看上面的编辑(self.friendData的内容)。我想专门搜索friendData从neighbourData中拉出的姓氏。也就是说,用self.neighbourDetail替换myFriend仍然不起作用:/ – Brittany

+0

看到我的更新,它需要与'containsObject'相同的数据结构我添加了替代解决方案, – meda

+0

我很困惑 - 搜索结果仍然是空的当我使用这个代码?即使朋友[@“姓氏”]等于我的朋友。 – Brittany

相关问题