- [NSTextField dataUsingEncoding:allowLossyConversion:]无法识别的选择器发送到实例

时间:2014-03-07 12:54:11

标签: objective-c macos cocoa

在我的应用程序中,我使用initWithNibName:bundle:file启动对象。我发现对象已损坏。 当我将断点放在-awakeFromNib或甚至init方法中并在控制台中调用以显示self(po self)时,我收到以下消息:

- [NSTextField dataUsingEncoding:allowLossyConversion:] unrecognised selector sent to instance

有趣的是异常断点没有被调用。因为它是NSString的方法,所以应该调用它。我也不会在任何地方手动调用方法dataUsingEncoding:allowLossyConversion:。 nib文件中的所有NSTextField对象都连接到文件所有者属性。

有关解决此问题的任何提示吗?

1 个答案:

答案 0 :(得分:3)

过了一段时间,终于,我已经弄明白了这个问题。我的回答可以暗示任何面临同样问题的人。

头文件中的NSTextField声明如下:

@property (nonatomic, weak) IBOutlet NSTextField *description;

Word“description”是NSObject的保留字,因此一般应该避免使用它。

这解决了我的问题:

@property (nonatomic, weak) IBOutlet NSTextField *desc;