2016-07-23 47 views
2

所以,我想获得所有其他Facebook朋友也列在我的应用程序连接列表。Swift Facebook获取朋友图表请求错误

做了FBSDKgraphrequest之后,我得到了正确的数据(见下面),然后将其转换为NSDictionary。数据是这样的:

{ 
    friends =  { 
     data =   (
         { 
       id = 10154257515635281; 
       name = "Hector Judd"; 
      }, 
         { 
       id = 151132798649181; 
       name = "Arch Tester Dev"; 
      } 
     ); 
     paging =   { 
      cursors =    { 
       after = QVFIUndVRFZAINXhCSlAzdnNGeUUwTHdhamNpc3NFbjR2NjF4dk40N3ZAZAR2lNLXM0Q3BxLW90REVsaFk3aU13Um1Ca0NOd0ZAXN2gxaDF2emhYem9BMjhkMVl3; 
       before = QVFIUlo2a1Q4UGhpWmY2SFNWbUtpMVcxZAnEtR01KSlUyeVEtMU9GbjNkRHp2bTFKY0VoVm5xX3dNLXEwMG5OY0Q0My0ZD; 
      }; 
     }; 
     summary =   { 
      "total_count" = 831; 
     }; 
    }; 
    id = 10208811056967519; 
} 

然后我尝试用多个解压,如果让语句,但最终得到的错误:段错误低于11见代码。

func getFriends() { 

    let parameters = ["fields": "friends"] 

    FBSDKGraphRequest(graphPath: "me", parameters: parameters).startWithCompletionHandler({ (connection, result, error) -> Void in 

     if error != nil { 

      print(error) 

     } else { 

      if let result = result as? NSDictionary { 

       if let data = result["friends"] as? NSDictionary { 

        if let friendData = data["data"] as? NSArray { 

         for friend in friendData { 

          friendIds.append(friend["id"] as String) 

          print(friendIds) 

         } 


        } 
       } 

      } 
     } 

    }) 
} 

我对编程相对比较陌生,并且很努力地找出一个很好的方法来做到这一点。我们欢迎所有的建议!!谢谢。

回答

0

试图声明您friendData变量放入NSDictionary在循环

for friend in friends { 
     if let friendData = friend as? NSDictionary { 
       friendIds.append(friendData["id"] as! String) 
     } 
    }