Добавление двух 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 ответ
- Вы только распечатываете dict1, что может привести к предположению, что вы вернете только последователей
- Я думаю, что 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"]]];