cocoa - [Person copyWithZone:]:发送到实例的无法识别的选择器

时间:2014-09-20 16:40:21

标签: objective-c macos cocoa

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

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

1 个答案:

答案 0 :(得分:0)

我自己修好了。 NSArrayController add方法的行为是复制对象,而不是保存对象的pointer,我遇到的是我没有实现NSCoping协议类Person,我修复了这个:

在Person.h 声明NSCoping

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

并在 Person.m 中实现它:

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