Obj-C:检查NSMutableArray中是否存在对象?

时间:2017-05-19 02:38:49

标签: ios objective-c

我正在尝试检查我的NSMutableArray'self.checkfriendData'中是否存在NSString'testing'(47)。我正在使用下面的代码,虽然在记录我的if语句后,它看起来好像从未执行过(即使语句是真的 - 请参阅下面的控制台数据,uid = 47,因此隐藏我的对象应该触发?)任何想法都是为什么这不起作用?非常感谢帮助!

ViewController.m

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

        self.checkfriendData = (NSMutableArray *)responseObject;

        NSString *testing = @"47";


        NSArray *friendorNo = self.checkfriendData;

        if ([friendorNo containsObject:testing]) // YES
        {

            self.addFriend.hidden = YES;
        }


    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    }];

以下是self.checkfriendData中的内容:

 2017-05-18 19:36:07.266529-0700 This is the friend data check (
            {
            body = "My name is Britt";
            friendphoto = "/sites/default/files/stored/x.jpg";
            "node_title" = "Britt";
            uid = 47;
        }
    )

1 个答案:

答案 0 :(得分:1)

您的NSArray似乎包含NSDictionary,并且您询问该数组是否包含NSString。答案永远是否定的,因为数组不直接包含任何NSString

如果您要搜索uid 47,则必须遍历数组,并检查每个uid的{​​{1}}项的值NSDictionary 1}}。

这个代码看起来像是:

47