cocoa -[Person copyWithZone:]: 无法识别的选择器发送到实例
Posted
技术标签:
【中文标题】cocoa -[Person copyWithZone:]: 无法识别的选择器发送到实例【英文标题】:cocoa -[Person copyWithZone:]: unrecognized selector sent to instance 【发布时间】:2014-09-20 16:40:21 【问题描述】:我正在按照Cocoa programming for Mac OS X 进行一些可可编程,我被困在第 8 章(NSArrayController
)中,我正在遵循那本书中定义的指南,但我不知道为什么该应用程序总是引发unrecognized selector sent to instance
错误。
我的代码在这里RaiseMan,如果您有任何建议,非常感谢。
【问题讨论】:
【参考方案1】:我自己修好了。 NSArrayController
add
方法的行为是复制一个对象,而不是持有对象的pointer
,我遇到的是我在Person
类中没有实现NSCoping
协议,我修好了像这样:
在Person.h中声明NSCoping
:
@interface Person : NSObject <NSCopying>
NSString *personName;
float expectedRaise;
并在 Person.m 中实现它:
-(id)copyWithZone:(NSZone *)zone
return self;
【讨论】:
以上是关于cocoa -[Person copyWithZone:]: 无法识别的选择器发送到实例的主要内容,如果未能解决你的问题,请参考以下文章
静态 cocoa/cocoa-touch 库应该基于啥样的 SDK?
Cocoa设计模式(iOS常用设计模式) Cocoa Design Patterns
BEESEXY“CoCoa·M可沐巧”(Cocoa melody) 系列上市