Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 未调用UIBarButtonim选择器函数_Ios_Swift_Xcode_Constraints - Fatal编程技术网

Ios 未调用UIBarButtonim选择器函数

Ios 未调用UIBarButtonim选择器函数,ios,swift,xcode,constraints,Ios,Swift,Xcode,Constraints,我确实创建了一个简单的UIBarButtonItem,但由于某种原因,我的操作函数不会被调用,不知道为什么(例如,我的断点甚至不会被击中)。 下面是代码的屏幕截图。 没有调用您的函数: 如果使用闭包初始化属性,请记住,在执行闭包时,实例的其余部分尚未初始化。这意味着您无法从闭包中访问任何其他属性值,即使这些属性具有默认值 此外: 您也不能使用隐式self属性,也不能调用实例的任何方法 要解决此问题(在初始化期间无法访问self),您可以将此类UIBarButtonItem声明为lazy var,

我确实创建了一个简单的UIBarButtonItem,但由于某种原因,我的操作函数不会被调用,不知道为什么(例如,我的断点甚至不会被击中)。 下面是代码的屏幕截图。
没有调用您的函数:

如果使用闭包初始化属性,请记住,在执行闭包时,实例的其余部分尚未初始化。这意味着您无法从闭包中访问任何其他属性值,即使这些属性具有默认值

此外:

您也不能使用隐式self属性,也不能调用实例的任何方法

要解决此问题(在初始化期间无法访问
self
),您可以将此类
UIBarButtonItem
声明为
lazy var
,以便在
ViewController
初始化后安全创建:

lazy var addReminder:UIBarButtonItem = {
    return UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(HomePageViewController.addNewReminder))
}()

将HomePageViewController替换为self。如何使用addReminder块?