作者icecreamilk (羊驼猫咪幽灵)
看板MacDev
标题[问题] 如何写一个func 等另一个func的结果
时间Wed Mar 22 12:07:24 2017
sorry 不太会叙述这问题...
目前想要实作一个func 像是facebook login api
如下图
http://imgur.com/a/upijQ
以下直接复制图片里的程式码-
@objc func loginButtonClicked() {
let loginManager = LoginManager()
loginManager.logIn([ .PublicProfile ], viewController: self) { loginResult in
switch loginResult {
case .Failed(let error):
print(error)
case .Cancelled:
print("User cancelled login.")
case .Success(let grantedPermissions, let declinedPermissions, let accessToken):
print("Logged in!")
}
}
在loginManager.logIn这func里面 return的是loginResult
但其实这个loginResult是在Appdelegate里面就已经产生的
如下图
http://imgur.com/a/NC8ZL
目前已经试过DispatchSemaphore 但是会被block住....
请问有什麽方法可以像他login这个func这样的呢?
实在困扰小妹很久了呜呜
希望有人可以解答
先谢谢各位了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.33.50
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1490155647.A.905.html
1F:推 appleway: 把login manager 的result block 当delegate 想,就是了 03/22 13:16
3F:推 a26364177: Callback~ 03/23 02:58
4F:→ MADAOTW: closure 03/25 18:56