[英]Swift Protocol for present() function in UIViewController
我想创建一个当前UIViewController.present函数符合的协议(委托)。
因此,例如协议是:
protocol PresentPopupDelegate
{
func doSomething()
func present(_ viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Swift.Void)?)
}
需要遵守该协议的类是:
class MyViewController:UIViewController, PresentPopupDelegate {
func doSomething()
}
并说我有以下代码:
let delegate:PresentPopupDelegate
init() {
self.delegate = MyViewController()
}
编译这将导致警告说
未实现协议“ PresentPopupDelegate”中的方法“ present:animated:completion:”
现在,我假设原因是因为在原始函数中,将完成函数的默认参数设置为“ nil”。 但是,协议不支持默认参数。
因此,我的问题是:我可以(如果可以的话)如何创建UIViewController.present(...)函数可以遵循的协议?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.