使用 swift 中的对象执行选择器 3
Perform Selector With Object in swift 3
我正在尝试使用 swift 3.0
中的对象执行选择器
我有一个只有一个参数的选择器
func imageSelected(aImage : UIImage)
我这样称呼它
viewC.perform(Selector.init("imageSelected:"), with: image, afterDelay: 0.1)
但应用程序崩溃并显示未定义选择器的错误。
当我在 swift 中遇到选择器时,我总是这样做:忽略参数,只使用名称。
你用过这个:
imageSelected:
那个:
在那儿做什么?删除它!只需使用方法的名称!
此外,还有这个很棒的#selector
语法糖,请使用它:
viewC.perform(#selector(imageSelected), with: image, afterDelay: 0.1)
它开始运行良好,因为我修改了被调用的选择器
来自
func imageSelected(aImage : UIImage)
到这个
func imageSelected(_ aImage : UIImage)
这是 swift 4.0
perform(#selector(yourMethodHere), with: nil, afterDelay: 1)
在您的函数前添加@objc 标志
@objc public func yourMethodHere(){
//your code here
}
我正在尝试使用 swift 3.0
中的对象执行选择器我有一个只有一个参数的选择器
func imageSelected(aImage : UIImage)
我这样称呼它
viewC.perform(Selector.init("imageSelected:"), with: image, afterDelay: 0.1)
但应用程序崩溃并显示未定义选择器的错误。
当我在 swift 中遇到选择器时,我总是这样做:忽略参数,只使用名称。
你用过这个:
imageSelected:
那个:
在那儿做什么?删除它!只需使用方法的名称!
此外,还有这个很棒的#selector
语法糖,请使用它:
viewC.perform(#selector(imageSelected), with: image, afterDelay: 0.1)
它开始运行良好,因为我修改了被调用的选择器
来自
func imageSelected(aImage : UIImage)
到这个
func imageSelected(_ aImage : UIImage)
这是 swift 4.0
perform(#selector(yourMethodHere), with: nil, afterDelay: 1)
在您的函数前添加@objc 标志
@objc public func yourMethodHere(){
//your code here
}