Добавление двух NSMutableDictionaries в 1 NSMutableArray

Здесь я пытаюсь получить как последователей, так и последователей twitter с помощью FHSTwitterEngine, Вот мой код для получения подписчиков и добавления dictionary в NSMutableArray напечатать в tableView,

NSMutableDictionary *dict1 = [[FHSTwitterEngine sharedEngine]listFollowersForUser:usernames isID:NO withCursor:@"-1"];
  NSLog(@"====> %@",[dict1 objectForKey:@"users"] );
 twttrFrndListVC.twitterFrndList=[dict1 objectForKey:@"users"];

Используя приведенный выше код, я могу получить последователей. Но когда я пытаюсь получить как последователей, так и последователей, это не работает.

 NSMutableDictionary *dict1 = [[FHSTwitterEngine sharedEngine]listFollowersForUser:username isID:NO withCursor:@"-1"];
 NSMutableDictionary *dict2 = [[FHSTwitterEngine sharedEngine] listFriendsForUser:username isID:NO withCursor:@"-1"];
      NSLog(@"====> %@",[dict1 objectForKey:@"users"] );
     twttrFrndListVC.twitterFrndList=[dict1 objectForKey:@"users"],[dict2 objectForKey:@"users"];

Выше код возвращает только имя подписчика. Как я могу получить значения обоих словарей? Как я могу добавить два NSMutableDictionaries в одной NSMutableArray? Оба словаря имеют одинаковые ключи.

1 ответ

Решение
  1. Вы только распечатываете dict1, что может привести к предположению, что вы вернете только последователей
  2. Я думаю, что twttrFrndListVC.twitterFrndList является NSArray.

Чтобы объединить разные массивы вместе, вы хотите использовать следующий код:

NSArray *arr1 = [[NSArray alloc]init];
NSArray *arr2 = [[NSArray alloc]init];

NSArray *arr1ANDarr2 = [[NSArray alloc]initWithArray:arr1];
arr1ANDarr2 = [arr1ANDarr2 arrayByAddingObjectsFromArray:arr2];

В вашем конкретном случае это будет:

twttrFrndListVC.twitterFrndList = [[NSArray alloc]initWithArray:[dict1 objectForKey:@"users"]];
twttrFrndListVC.twitterFrndList = [twttrFrndListVC.twitterFrndList arrayByAddingObjectsFromArray:[dict2 objectForKey:@"users"]];

К сожалению, я не могу сказать, верен ли ваш код в Twitter, потому что я никогда не работал с этим. Надеюсь, это поможет!

РЕДАКТИРОВАТЬ: я только что видел, что вы используете NSMutableArray, который добавляет дополнительный способ сделать это:

NSArray *arr1 = [[NSArray alloc]init];
NSArray *arr2 = [[NSArray alloc]init];

NSMutableArray *arr1ANDarr2 = [[NSMutableArray alloc]initWithArray:arr1];
[arr1ANDarr2 addObjectsFromArray:arr2]; 

В твоем случае:

twttrFrndListVC.twitterFrndList = [[NSMutableArray alloc]initWithArray:[dict1 objectForKey:@"users"]];
[twttrFrndListVC.twitterFrndList addObjectsFromArray:[dict2 objectForKey:@"users"]]];
Другие вопросы по тегам