我使用swift以编程方式在工具栏中添加了一些按钮。我已经看过如何为按钮添加操作,我认为我正确地执行了操作,但显然我不是因为我不断发现"无法识别的选择器被发送到实例"当我按下按钮。我做错了什么?
以下是我如何将按钮添加到工具栏中:
func addButtonsToToolbar(view: UIView?)
{
let userTrackingArrow = MKUserTrackingBarButtonItem(mapView: self.mapView)
let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
let refresh: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: view, action: "refreshbuttonTapped:")
var items = [UIBarButtonItem]()
items.append(userTrackingArrow)
items.append(flexSpace)
items.append(refresh)
self.toolBar.items = items
}
这是我想用"刷新"按下按钮,但没有被调用。相反,我得到了#34;无法识别的选择器发送到实例"。
func refreshbuttonTapped(sender: AnyObject!)
{
print("Button tapped")
}
答案 0 :(得分:3)
尝试更改刷新按钮的目标:
let refresh: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: view, action: "refreshbuttonTapped:")
为:
let refresh: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: self, action: "refreshbuttonTapped:")
答案 1 :(得分:0)
方法refreshbuttonTapped()
必须在target
类中实施,view
addButtonsToToolbar()