[問題] 如何寫一個func 等另一個func的結果

看板MacDev作者 (羊駝貓咪幽靈)時間7年前 (2017/03/22 12:07), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/1
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://www.ptt.cc/bbs/MacDev/M.1490155647.A.905.html

03/22 13:16, , 1F
把login manager 的result block 當delegate 想,就是了
03/22 13:16, 1F

03/23 00:17, , 2F
03/23 00:17, 2F

03/23 02:58, , 3F
Callback~
03/23 02:58, 3F

03/25 18:56, , 4F
closure
03/25 18:56, 4F
文章代碼(AID): #1OqVX_a5 (MacDev)