TwitterをObjective-Cから使う12(MGTwitterEngineのAPI呼び出し後に値を受ける)
基本、MGTwitterEngineのAPI呼び出しの結果は、デリゲートメソッドのxxxxReceivedで受信して処理することになります。
結果がNSArrayで返ってきます。NSArrayには、1件分のNSDictionaryが格納されています。
あとはobjectForKeyを使って、各値を取り出せばOKです。objectForKeyで指定する名前は、twitter APIのレスポンスを調べればわかります。(xml、jsonとかで戻されるレスポンスのタグ名と同じです)
以下、statusesReceivedとgetBulkUserInformationForIDsで呼ばれる、デリゲートメソッドの値の取得例を示します。
getUserTimelineForなど、タイムラインを取得した場合。
- (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier { for (NSDictionary* status in statuses) { // つぶやきの情報 // [status objectForKey:@"id"] // [status objectForKey:@"created_at"] // [status objectForKey:@"text"] // つぶやいた人の情報(階層構造になっています。) NSDictionary* user = [status objectForKey:@"user"]; // [user objectForKey:@"name"] // [user objectForKey:@"screen_name"] // [user objectForKey:@"profile_image_url"] // [user objectForKey:@"followers_count"] // [user objectForKey:@"friends_count"] } }
getBulkUserInformationForIDsなど、ユーザの情報を取得した場合。
- (void)socialGraphInfoReceived:(NSArray *)socialGraphInfo forRequest:(NSString *)connectionIdentifier { for (NSDictionary* user in socialGraphInfo) { // [user objectForKey:@"id"] // [user objectForKey:@"name"] // [user objectForKey:@"screen_name"] // [user objectForKey:@"profile_image_url"] // [user objectForKey:@"followers_count"] // [user objectForKey:@"friends_count"] } }