关于Facebook SDK iOS with Swift:Facebook SDK iOS with Swift – 请求好友列表 – 方法说明

Facebook SDK iOS with Swift - Requesting for Friend List - Explanation of the Method

是否有人能够解释我们应该调用以接收朋友列表的这个方法?

1
2
3
4
5
var fbRequestFriends: FBRequest = FBRequest.requestForMyFriends()

fbRequestFriends.startWithCompletionHandler{
    (connection:FBRequestConnection!,result:AnyObject?, error:NSError!) -> Void in
}

特别是这条线

1
(connection:FBRequestConnection!,result:AnyObject?, error:NSError!) -> Void in

在我看来,我们好像在调用一个函数"startWithCompletionHandler",在这之后,我就失去了诚实。我不明白接下来会发生什么。有人能解释一下吗?

编辑:我知道这是实现它的方法。我实际上在寻找一个直观的解释,就像这个答案:目标C中的方法语法


您可以使用下面的代码获取朋友列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  // Get List Of Friends
  var friendsRequest : FBRequest = FBRequest.requestForMyFriends()
  friendsRequest.startWithCompletionHandler
 {
     (connection:FBRequestConnection!,   result:AnyObject!, error:NSError!) -> Void in
     var resultdict = result as NSDictionary
     println("Result Dict: \(resultdict)")
     var data : NSArray = resultdict.objectForKey("data") as NSArray

     for i in 0 ..< data.count
     {
       let valueDict : NSDictionary = data[i] as NSDictionary
       let id = valueDict.objectForKey("id") as String
       println("the id value is \(id)")
     }

     var friends = resultdict.objectForKey("data") as NSArray
     println("Found \(friends.count) friends")
 }


好吧,您可以在传递的闭包中看到请求调用的结果。尝试将结果对象打印到控制台,如下所示。

1
2
3
4
5
6
7
8
9
10
11
var fbRequestFriends: FBRequest = FBRequest.requestForMyFriends()

fbRequestFriends.startWithCompletionHandler{
(connection:FBRequestConnection!,result:AnyObject?, error:NSError!) -> Void in

    if error == nil && result != nil {
    println("Request Friends result : \(result!)")
    } else {
    println("Error \(error)")
   }
}

我还没有为Facebook使用Swift SDK,但我认为结果对象应该是一组Facebook用户对象(朋友)。