我在类中的一个名为toolBarSetup的函数中设置了一个UIToolBar。
public class Utility {
func toolBarSetup(inout toolBar: UIToolbar, inout toolBarLbl: UILabel, view: UIView) -> (UIToolbar, UILabel){
toolBar = UIToolbar(frame: CGRectMake(0, view.frame.height/7, view.frame.width, 44.0))
let toolBar_btn = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "picker_cancel")
//Codes to setup toolbar label
toolBar.setItems([toolBar_btn, flexSpace, text_info, flexSpace], animated: true)
return (toolBar, lbl_toolBar_cancel)
}
}
从另一个班级我正在调用这个函数
class Class1: UIViewController {
var toolBar = UIToolbar()
var lbl_toolBar = UILabel()
override func viewDidLoad() {
super.viewDidLoad()
let toolBarSetup = Utility().toolBarSetup(&toolBar, lbl_toolBar: &lbl_toolBar, view: view)
toolBar = toolBarSetup.0
lbl_toolBar = toolBarSetup.1
}
func picker_cancel(){
}
}
早些时候函数picker_cancel()工作正常,但昨天我更新了我的Xcode,之后我收到了这个警告
没有使用Objective-C选择器声明的方法'picker_cancel()'
在类'Utility'的下面一行。
let toolBar_btn = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "picker_cancel")
我尝试使用选择器解决但没有任何效果。请帮忙。
答案 0 :(得分:11)
在Xcode 7.3中,您需要使用#selector()。通常Xcode可以为您做这个改变。
我认为有效:
#selector(Class1.picker_cancel)