【发布时间】:2020-07-03 01:47:33
【问题描述】:
我想了解在UIViewController 类中实现委托的最佳方式
如何在 AuthManager 中使用我的函数的 controller: UIViewController 参数来管理委托?
这是我正在使用的两个类 .. 我给你展示一些小例子,让你理解
class StartController: UIViewController {
@objc private func presentAuthFacebookController() {
AuthManager.signInWithFacebook(controller: self)
}
}
class AuthManager {
static func signInWithFacebook(controller: UIViewController) {
let loginManager = LoginManager()
loginManager.logIn(permissions: [.publicProfile, .email], viewController: controller) { (result) in
switch result {
case .cancelled : print("\n AuthFacebook: operazione annullata dall'utente \n")
case .failed(let error) : print("\n AuthFacebook: \(error) \n")
case .success(granted: _, declined: let declinedPermission, token: _):
let authVC = ExistingEmailController()
authVC.delegate = // ?????? (controller)
UIApplication.shared.windows.first?.rootViewController?.present(authVC, animated: true, completion: nil)
}
}
}
}
【问题讨论】:
标签: ios swift uiviewcontroller delegates