我不明白为什么这会编译:
let viewWillAppearSelector = #selector(UIViewController.viewWillAppear(_:))
但不是这个:
let viewDidLoadSelector = #selector(UIViewController.viewDidLoad())
错误是
"Use of instance member 'viewDidLoad' on type UIViewController; did you mean to use a value type 'UIViewController' instead?
为什么后者不编译而前者编译?
更新:我把它改成了这个,现在它可以编译了:
let viewDidLoadSelector = #selector(UIViewController.viewDidLoad)
但我不是 100% 的原因
最佳答案
如果方法不接受任何参数,则需要省略括号。在 Swift 的 future 版本中,您的代码将成为一个错误。
尝试
let viewDidLoadSelector = #selector(UIViewController.viewDidLoad)
相反。
关于ios - 可以为 viewWillAppear 创建一个选择器,但不能为 viewDidLoad 创建一个选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035457/