3

我試圖解決這個警告,但沒有成功。自升級到swift3以來,我在我的Facebook Graph Request完成處理程序中收到警告消息。FBSDKRequestConnection警告swift3

錯誤消息是特別的,「表達式的類型'FBSDKGraphRequestConnection?'未使用。」

graphRequest?.start(completionHandler: { (connection, result, error) in 

      if error != nil { 

       //do something with error 

      } else if result != nil { 

       //do something with result 
      } 

     }) 

我試着將(在完成處理)的如下面的代碼行,看是否會警告消失,但警告是持久的。

connection.start() 

connection.timeout = 30 

if connection != nil { 


      } 

完成處理程序我在swift2中工作得很好,並沒有給我這樣的警告。我沒有正確使用完成處理程序嗎?

回答

13

任何有興趣,它看起來像首選的方法是:

  1. 初始化FBSDKGraphRequest
  2. 初始化FBSDKGraphRequestConnection
  3. 添加請求,請求連接
  4. 開始連接。

所以,

let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields" : "email"]) 
     let connection = FBSDKGraphRequestConnection() 
     connection.add(graphRequest, completionHandler: { (connection, result, error) in 

      if error != nil { 

       //do something with error 

      } else { 

       //do something with result 

      } 

     }) 

     connection.start() 

上面似乎優於graphRequest.start(),沒有警告或錯誤。

+0

謝謝,該死的它是如此討厭。 – Makalele

+0

完美工作,感謝分享! – cubycode

2

你可以簡單的刪除它像

在SWIFT 3

_ = request?.start { (connection, result, error) in  
    } 

在迅速2.X

let _ = request?.start { (connection, result, error) in  
     }