TwitterをObjective-Cから使う7(データの取得)
このシリーズ、4回目でfriends/ids APIを叩いてみましたが、実際に値を取り出す方法を書いておきます。
getFriendIDsForの結果は、非同期にURLConnectionからデータを受信。パースされMGTwitterEngineのデリゲート、socialGraphInfoReceivedメソッドが呼ばれます。
socialGraphInfoはNSDictionaryで、パース結果が格納されています。
socialGraphInfoには、下記キーでオブジェクトが保存されています。idsは、さらにNSArray(配列)になっています。
- ids
- next_cursor
- previous_cursor
- source_api_request_type
中身を見るには、ocialGraphInfoReceivedメソッドをこんな形に
- (void)socialGraphInfoReceived:(NSArray *)socialGraphInfo forRequest:(NSString *)connectionIdentifier { for (NSDictionary *info in socialGraphInfo) { NSLog(@"next_cursor: %@" , [info objectForKey:@"next_cursor"]); NSLog(@"previous_cursor: %@", [info objectForKey:@"previous_cursor"]); for (NSArray *ids in [info objectForKey:@"ids"]) { NSLog(@"ids: %@", ids); } } }
メソッドの中身を書き換えたところで、getFriendIDsForを呼びます。
[twitterEngine_ getFriendIDsFor:@"followapp" startingFromCursor:-1];
実行結果は、こんな感じで
2011-03-02 07:32:53.429 Sample03[298:207] next_cursor: 0 2011-03-02 07:32:53.429 Sample03[298:207] previous_cursor: 0 2011-03-02 07:32:53.430 Sample03[298:207] ids: 93364301 2011-03-02 07:32:53.431 Sample03[298:207] ids: 252531514 2011-03-02 07:32:53.431 Sample03[298:207] ids: 258118770 2011-03-02 07:32:53.432 Sample03[298:207] ids: 93848593 2011-03-02 07:32:53.433 Sample03[298:207] ids: 193605182 2011-03-02 07:32:53.433 Sample03[298:207] ids: 218666143 ・ ・ ・ 2011-03-02 07:32:54.482 Sample03[298:207] ids: 131088300 2011-03-02 07:32:54.483 Sample03[298:207] ids: 180059823 2011-03-02 07:32:54.484 Sample03[298:207] ids: 168676234
だいたい、他のAPIも同じような感じで、中身を取り出すことができます。