答案 0 :(得分:0)
您的功能未被调用because:
如果使用闭包来初始化属性,请记住在执行闭包时尚未初始化实例的其余部分。这意味着您无法从闭包中访问任何其他属性值,即使这些属性具有默认值。
此外:
您也不能使用隐式自身属性,也不能调用任何实例的方法。
要解决此问题(在初始化期间无法访问self
),您可以将UIBarButtonItem
声明为lazy var
,因此会在ViewController
之后安全地创建已初始化:
lazy var addReminder:UIBarButtonItem = {
return UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(HomePageViewController.addNewReminder))
}()