无法识别的选择器发送到实例 - Swift

Posted

技术标签:

【中文标题】无法识别的选择器发送到实例 - Swift【英文标题】:Unrecognized selector sent to instance - Swift 【发布时间】:2015-08-14 09:13:14 【问题描述】:

这个问题已经在 SO 上被问过几次了,但解决方案似乎总是在action 字符串的末尾添加:,或者添加一个发件人参数,如UIButtonAnyObject,但这不适用于我。

这是我的代码:(在cellForRowAtIndexPath 函数内)

    let mapsbut = cell.viewWithTag(912) as! UIButton

    mapsbut.addTarget(self, action: "mapsHit:", forControlEvents: UIControlEvents.TouchUpInside)

    func mapsHit(sender: UIButton!)

        passBuild = buildings[indexPath.row]
        performSegueWithIdentifier("mapSegue2", sender: self)

    
    return cell

有什么想法吗?

【问题讨论】:

【参考方案1】:

尝试将 mapsHit 函数移出 cellForRowAtIndexPath: 函数,使其成为全局(在视图控制器上下文中)而不是 cellForRowAtIndexPath 方法中的嵌套函数。

【讨论】:

这可能有效,但我需要使用函数中单元格中的值,所以这种方法不适合我。

以上是关于无法识别的选择器发送到实例 - Swift的主要内容,如果未能解决你的问题,请参考以下文章

快速代码崩溃:“发送到实例的无法识别的选择器”

Swift:发送到实例的无法识别的选择器

Swift 3 NSCoder 无法识别的选择器发送到实例

Swift无法识别的选择器发送到实例

无法识别的选择器发送到实例 - Swift

Swift - 无法识别的选择器发送到 SDWebImage 方法上的实例