2016-08-04 73 views
0

,我有以下的Facebook圖形請求中的一個功能:訪問在許多類

let request: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id"], HTTPMethod: "GET") 
    request.startWithCompletionHandler({(connection: FBSDKGraphRequestConnection!, result: AnyObject!, error: NSError!) -> Void in }) 

我一直在重複中每個類別的圖形要求訪問我的Facebook ID。我試圖將它存儲在NSUserDefaults中,雖然它創建了很多錯誤和隨機崩潰。我想知道在每個班級中重複使用這個完成塊的最佳方式是什麼,而不必一遍又一遍地調用它。

+0

你有沒有聽說過乾的? https://en.wikipedia.org/wiki/Don%27t_repeat_yourself – CarlosCarucce

回答

0

如果你打了很多電話,你應該真的只是做一個類來處理你的網絡請求,並通過它請求所有的請求。然後一切都集中在一起,如果API改變了,你的代碼將更易於維護。

0

Swift函數自然是全局的。它看起來並不像Facebook SDK那樣,所以你可以創建一個新文件並粘貼在那裏。

//FBSDKGraphRequest.swift (Or any other name you want) 

import FBSDKCoreKit // Or whichever you need 

func graphRequest() { 
    let request: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id"], HTTPMethod: "GET") 
    request.startWithCompletionHandler({(connection: FBSDKGraphRequestConnection!, result: AnyObject!, error: NSError!) -> Void in }) 
} 

而且你可以在任何地方把它叫做你的項目中只使用

graphRequest()