2017-05-19 8 views
0

NSString 'testing'(47)がNSMutableArray 'self.checkfriendData'の内部に存在するかどうかを確認しようとしています。私は以下のコードを使用していますが、私のifステートメントを記録した後は実行されないかのように見えます(ステートメントはtrueですが、以下のコンソールデータを参照してください。なぜこれが機能していないのですか?助けが大いにありがとう!Obj-C:オブジェクトがNSMutableArrayに存在するかどうかを確認しますか?

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; 
     } 
    ) 
+0

このためのコードは次のようになりますか?また、 'friendorNo'は' NSDictionary'型であるべきですか? – CRD

+0

@CRD uidはNSDictionary(これは表示されます)です。つまり、NSStringテストをNSDictionary *テストに変更するだけで問題は解決しますか? – Brittany

答えて

1

あなたのNSArrayNSDictionary Sが含まれており、配列がNSStringが含まれている場合、あなたが求めていることが表示されます。配列は直接NSStringを含んでいないので、答えは常にnoです。

あなたは、配列を反復処理し、値47ため、各NSDictionaryuidキーを確認する必要があります47uidを検索したい場合は。キー `uid`に関連付けられたオブジェクトの型は何

for (NSDictionary *dict in friendorNo) { 
    if ([dict[@"uid"] isEqualToString:testing]) { 
     self.addFriend.hidden = YES; 
    } 
} 
+0

このコードはどのように見えるでしょうか? 47前に特定の辞書のUIDをチェックしようとしましたが、まだ実行されていませんか?例えば。 if self.checkfriendData objectForKey:@ "uid"には47 ... – Brittany

+0

Lolはマイナーな編集を行いました。つまり、私はあなたの.hファイルでNSDictionaryとしてuidを定義する必要がありますか?これは現在定義されていません(objectForKeyは、返されるデータの中で辞書を探すと思います)。 – Brittany

+0

'uid'は、' NSArray'の中にある 'NSDictionary'の中の' NSString'です。 'NSArray'には' NSArray'に値 '47'が含まれているかどうかを尋ねることはできません。なぜなら、 'NSArray'はそれに含まれるNSDictionaryの構造について何も知らないからです。 – mttrb

関連する問題