ios - Swift - 按下按钮时调用函数 - 无法识别的选择器发送到实例

标签 ios uibarbuttonitem swift2 unrecognized-selector

我正在使用 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
}

这是我想要在按下“刷新”按钮时调用的函数,但它没有被调用。相反,我得到“无法识别的选择器发送到实例”。

func refreshbuttonTapped(sender: AnyObject!)
{
    print("Button tapped")
}

最佳答案

尝试更改刷新按钮的目标:

let refresh: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: view, action: "refreshbuttonTapped:")

至:

let refresh: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: self, action: "refreshbuttonTapped:")

关于ios - Swift - 按下按钮时调用函数 - 无法识别的选择器发送到实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124374/

相关文章:

objective-c - 将 UISwitch 添加到 UINavigationItem

ios - UIImage 未显示在 UIBarButtonItem 上

ios - Swift iOS 客户端证书认证

ios - 将相同的框架与另一个框架和主应用程序一起使用时出现错误

iphone - 根据在 iOS 中输入的数据创建 URL

ios - 命令因信号 : Segmentation fault: 11 而失败

iphone - UIBarButtonItem 中的 UIButton 未显示

ios - 在 swift 2.0 中允许用户播放背景音乐

ios - 从 swift 2.2 中的 plist 的字典和数组的组合中获取数据

ios - ObjectMapper 未解析的标识符 'Mapper'