检查 NSMutableArray 是否包含字符串
Checking if NSMutableArray contains String
我正在使用以下代码检查我的 NSMutableArray (self.friendData) 中是否存在用户的姓氏。也就是说,即使用户姓氏存在于字段 "last name" 中的 self.friendData 内,它仍然返回语句的 else 部分(声明它不存在于数组中)。我怎样才能解决这个问题?
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;
}
);
};
除非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);
我正在使用以下代码检查我的 NSMutableArray (self.friendData) 中是否存在用户的姓氏。也就是说,即使用户姓氏存在于字段 "last name" 中的 self.friendData 内,它仍然返回语句的 else 部分(声明它不存在于数组中)。我怎样才能解决这个问题?
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;
}
);
};
除非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);