0

這可能是一個非常新手的問題,我很尷尬地問,但是我浪費了一大堆時間來解決這個問題。將facebook共同朋友保存到數組或字典

我跟着facebook的documentation,現在可以成功檢索mututal朋友。問題是,我無法將它們保存到數組或字典中。我的目標是保存這些值,以便我可以提供共同的朋友提要。

這是從Facebook

2015-02-08 14:23:41.747 Madada[1989:500881] RESULT OF FB { 
    context =  { 
     "mutual_friends" =   { 
     data =    (
          { 
       id = 341355692798276; 
       name = "name"; 
      }, 
          { 
       id = 1600005380218938; 
       name = "name"; 
      } 
     ); 
     paging =    { 
      cursors =     { 
       after = "MTYwMDAwNTM4MDIxODkzNA=="; 
       before = MzQxMzU1NjkyNzM4Njgz; 
      }; 
     }; 
     summary =    { 
      "total_count" = 3; 
     }; 
    }; 
}; 
id = 1380880992219300; 

}結果

這是我的IOS代碼

NSNumber *total = result[@"context"][@"mutual_friends"][@"summary"][@"total_count"]; 
            NSLog(@"TOTAL FRIENDS %@", total); 
            for(int i=0;i<[result[@"context"][@"mutual_friends"][@"data"] count];i++) 
            { 
             [self.mutualFriends addObject:result[@"context"][@"mutual_friends"][@"data"]]; 
             NSLog(@"MUTUAL FRIENDS ARRAY : %@", self.mutualFriends); 
            } 

我試着用這種亂搞,但數組的結果是空的每個用戶檢索。當我在最後加上[@「id」]時,它給了我這個信息。

無法識別的選擇發送到實例0x178c60c0

我幾乎可以肯定,這只是一個基本的語法問題,正如我以前說過,我不好意思要問,但由於在前進到真棒社區!

回答

1

您可能有兩個問題。第一個數組是NULL。在開始向它添加對象之前,我會確保你正在初始化你的NSMutableArray。

self.mutualFriends = [[NSMutableArray alloc]init]; 

第二個問題是,你不能直接將ID,因爲你迭代通過一個數組並需要從陣列字典第一。請參閱示例中的friendData。

NSNumber *total = result[@"context"][@"mutual_friends"][@"summary"][@"total_count"]; 
NSLog(@"TOTAL FRIENDS %@", total); 

for(int i=0;i<[result[@"context"][@"mutual_friends"][@"data"] count];i++) 
{ 
    NSDictionary *friendData = result[@"context"][@"mutual_friends"][@"data"][i]; 

    [self.mutualFriends addObject:friendData[@"id"]]; 
    NSLog(@"MUTUAL FRIENDS ARRAY : %@", self.mutualFriends); 
} 

另外它很容易迷失在做result[@"thisThing][@"otherThing][@"evenMoreStuff]。只是一些建議,我會避免這樣做,並創建一個本地的NSDictionary或NSArray當你在結果中移動。

希望能幫助並解決您的問題。