1

私はこれがNSMutablearray好きです(JSONのものです)

{
   "notification_list":[
      {
         "TYPE":"ARTIST",
         "ID":"07",
         "DTEXT":"Now you can listen to the songs of ARTIST1",
         "ADDEDDATE":"27th June, 2013 4:44 pm."
      },
      {
         "TYPE":"BRAND",
         "ID":"http:\/\/www.me.lk\/",
         "DTEXT":"M Entertainment have been joined with Mobile Music",
         "ADDEDDATE":"27th June, 2013 3:37 pm."
      },
      {
         "TYPE":"ARTIST",
         "ID":"03",
         "DTEXT":"Now you can listen to the songs of ARTIST2",
         "ADDEDDATE":"27th June, 2013 3:37 pm."
      },
      {
         "TYPE":"ALBUM",
         "ID":"Nava Ridgma",
         "DTEXT":"Get new album of ARTIST3, Nava ridma",
         "ADDEDDATE":"27th June, 2013 3:37 pm."
      },
      {
         "TYPE":"SONG",
         "ID":"05",
         "DTEXT":"New Song added to the Mobile Music - Hanthane Kandumuduna by ARTIST5, Album - Aradhana",
         "ADDEDDATE":"27th June, 2013 3:37 pm."
      }
   ]
}

今、この特定のオブジェクトのインデックスを取得したいNSMutablearray

{
   "TYPE":"ALBUM",
   "ID":"Nava Ridgma",
   "DTEXT":"Get new album of ARTIST3, Nava ridma",
   "ADDEDDATE":"27th June, 2013 3:37 pm."
}

これからこのオブジェクトを検索しNSMutablearrayてインデックスを取得する方法。

誰でも私を助けることができますか?

ありがとう

4

4 に答える 4

7

試す

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TYPE == [cd] %@",@"ALBUM"];

NSInteger index = [array indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    return [predicate evaluateWithObject:obj];
}];

NSLog(@"Index of object %d",index);
于 2013-07-09T08:49:00.890 に答える
2
NSMutableArray *myArray

myArray には、あなたから与えられたデータが含まれていると考えてください。

NSPredicate *thePredicate = [NSPredicate predicateWithFormat:@"%K LIKE %@", @"TYPE", @"ALBUM"];
NSArray *filteredList = [myArray filteredArrayUsingPredicate:thePredicate];

NSDictionary *selectedDict = [[NSDictionary alloc]init];
selectedDict = [filteredList lastObject];

int index;
index = [arr indexOfObject:selectedDict];

これにより、type=album を持つ辞書のインデックスが得られます。

これがあなたを助けることを願っています。

于 2013-07-09T08:46:41.717 に答える
0

あなたの場合、コンソールはディクショナリとして記述され、オブジェクトの特定のインデックスを取得できindexOfObjectますNSMutableArray

int index = [[myDic objectForKey:@"notification_list"] indexOfObject:yourSearchString];
NSLog(@"index From Array - %d", index);
于 2013-07-09T08:42:47.163 に答える
0

最初に、JSON を解析して NSMutableArray に保存する必要があります。 Parse JSOn チュートリアル: 最後に、NSMutableArray で必要なタイプを検索します。

于 2013-07-09T08:45:56.270 に答える