作者:tomodachitch | 来源:互联网 | 2023-02-13 14:20
我试图在swift 3.0中使用对象执行选择器
我有一个选择器,有一个参数
func imageSelected(aImage : UIImage)
我称之为
viewC.perform(Selector.init("imageSelected:"), with: image, afterDelay: 0.1)
但应用程序崩溃时出现错误,未定义选择器.
1> Sweeper..:
这是我在swift中遇到选择器时经常做的事情:忽略参数,只需使用名称即可.
你用过这个:
imageSelected:
在那:
做什么?删除它!只需使用方法的名称!
此外,有这个伟大的#selector
语法糖,请使用:
viewC.perform(#selector(imageSelected), with: image, afterDelay: 0.1)
2> 小智..:
这是快速4.0
perform(#selector(yourMethodHere), with: nil, afterDelay: 1)
在函数之前添加@objc标志
@objc public func yourMethodHere(){
//your code here
}
3> Zaheer Abbas..:
它开始运作良好,我修改了被调用的选择器
从
func imageSelected(aImage : UIImage)
对此
func imageSelected(_ aImage : UIImage)