【问题标题】:NSInvocation: object does not implement methodSignatureForSelectorNSInvocation:对象没有实现 methodSignatureForSelector
【发布时间】:2011-02-23 00:53:25
【问题描述】:

我遇到了这种奇怪的崩溃,只有在设备上运行应用程序时才会发生(在模拟器中不会发生)。 问题似乎无处不在,因为我没有更改该特定课程的任何内容。几天前我遇到了同样的问题,我最终通过复制类、重命名和更改引用的类来修复它——我没有更改任何代码。

所以我试图理解它为什么这样做。我在某处读到,当对象不是NSObject 的子类时,通常会出现此控制台错误(但它是!)。这是确切的控制台错误消息:

*** NSInvocation: warning: object 0x679e0 of class 'FFProximityPickerView' does not implement methodSignatureForSelector: -- trouble ahead
*** NSInvocation: warning: object 0x679e0 of class 'FFProximityPickerView' does not implement doesNotRecognizeSelector: -- abort

然后它就崩溃了。

我会非常感谢任何可以帮助我的人。

编辑----------------
这在我发布问题后发生了两次。在第一种情况下,我将类重新添加到项目中,不再崩溃。在第二种情况下,我修复了崩溃类中的所有警告并解决了它。会继续看,但到目前为止我的猜测是我没有修复警告(我总是倾向于稍后修复它们)

【问题讨论】:

    标签: iphone crash


    【解决方案1】:

    如果在调用类方法时发生这种情况,请尝试使用 NSObject 扩展您的类,如下所示:

    @interface sampleClass : NSObject
    

    【讨论】:

    • 这完全有道理,但我仍然想知道你是怎么发现的 :) 但是谢谢!!这为我节省了很多时间!
    • 正如理查德所说,你怎么知道的?感谢您为我省去了很多麻烦!
    • “选择器”问题是常见问题,当我们错误地在类中实现方法时会发生。
    【解决方案2】:

    似乎有太多未修复的警告会导致此问题。 只需修复警告,它就不会发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多