2016-08-04 47 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()