2016-04-02 1 views
0

私はすべてのjsonを含むNSArray(moodArray)を持っています。idを含む別のNSArray(idArray)を持っていて、idがmoodArrayにある場合、ムードアレイ?実行する方法 ?ありがとうNSArrayのオブジェクトを削除する(Objective-C)

マイコード:

- (void)fetchEntries 
    { 
     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
     [manager GET:API_V3_CHANNEL_URL parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { 

      NSDictionary *searchDict = responseObject; 

      // On filtre le json 
      NSPredicate *firstNamePredicate = [NSPredicate predicateWithFormat:@"status == %@", @"LIVE"]; 
      NSPredicate *lastNamePredicate = [NSPredicate predicateWithFormat:@"status == %@", @"PAUSE"]; 

      NSPredicate *compoundPredicate = [NSCompoundPredicate orPredicateWithSubpredicates:@[firstNamePredicate, lastNamePredicate]]; 

// My idArray 
      NSArray *idArray = [[NSArray alloc] initWithObjects:@"56ead10ae3c9a053398b4580", @"56efq10ae3c9a053398b4590", nil]; 

// My moodArray (content alljson)  
      self.moodArray = [[searchDict objectForKey:@"CONTESTS"] filteredArrayUsingPredicate:compoundPredicate]; 



      [self.collectionView reloadData]; 
     } failure:^(NSURLSessionTask *operation, NSError *error) { 
      NSLog(@"Error: %@", error); 
     }]; 

    } 

マイmoodArray(JSON): My json

moodArrayが同じidが含まれている場合は、私がチェックすることidArrayので、同じIDを持つオブジェクトを削除した場合in moodArray

答えて

0

JSONオブジェクトの文字列はありますか?もしそうなら、NSJSONSerializationを使ってそれらを辞書に変換してIDを抽出します。

-(NSDictionary*) convertJSONStringToDictionary:(NSString*)jsonString 
{ 
    NSError   *error; 
    NSData   *objectData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
    NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:objectData 
                options:NSJSONReadingMutableContainers 
                 error:&error]; 
    return dictionary; 

}

あなたのようなもので、配列をきれいにできます。私はそれが動作することができると思うが、今、それは(NSExecption)をクラッシュさ

-(NSArray*)removeIDs:(NSArray*)idArray fromArray:(NSArray*)moodArray 
{ 
    NSMutableArray   *cleanedMoodArray = [NSMutableArray array]; 

    for (NSString *jsonString in moodArray) { 
     NSDictionary *moodDictionary = [self convertJSONStringToDictionary:jsonString]; 
     NSString  *objectID = [moodDictionary objectForKey:@"id"]; 

     if (nil != objectID) { 
       if (![idArray containsObject:objectID]) 
        [cleanedMoodArray addObject:moodDictionary]; 
     } 

    } 

    return cleanedMoodArray; 
} 
+0

、それは私のコードのスクリーンショットです:のhttp:/ /mbsolution.be/victor/capture.png –

+0

例外がクラッシュしているところはどこですか?例外ブレークポイントをアクティブにして実行しようとしましたか? – user2002649

+0

私の.mファイルを送信できますか?あなたが見ている、または私の問題がある場合 –

関連する問題