【问题标题】:cocoa -[Person copyWithZone:]: unrecognized selector sent to instancecocoa -[Person copyWithZone:]: 无法识别的选择器发送到实例
【发布时间】:2014-09-20 16:40:21
【问题描述】:

我正在按照Cocoa programming for Mac OS X 进行一些可可编程,我被困在第 8 章(NSArrayController)中,我正在遵循那本书中定义的指南,但我不知道为什么该应用程序总是引发unrecognized selector sent to instance 错误。

我的代码在这里RaiseMan,如果您有任何建议,非常感谢。

【问题讨论】:

    标签: objective-c macos cocoa


    【解决方案1】:

    我自己修好了。 NSArrayControlleradd方法的行为是复制一个对象,而不是持有对象的pointer,我遇到的是我在Person类中没有实现NSCoping协议,我修好了像这样:

    Person.h中声明NSCoping

    @interface Person : NSObject <NSCopying> {
        NSString *personName;
        float expectedRaise;
    }
    

    并在 Person.m 中实现它:

    -(id)copyWithZone:(NSZone *)zone
    {
        return self;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-17
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      相关资源
      最近更新 更多