在我的应用程序中,我使用initWithNibName:bundle:file启动对象。我发现对象已损坏。
当我将断点放在-awakeFromNib
或甚至init
方法中并在控制台中调用以显示self(po self)时,我收到以下消息:
- [NSTextField dataUsingEncoding:allowLossyConversion:] unrecognised selector sent to instance
有趣的是异常断点没有被调用。因为它是NSString的方法,所以应该调用它。我也不会在任何地方手动调用方法dataUsingEncoding:allowLossyConversion:
。 nib文件中的所有NSTextField对象都连接到文件所有者属性。
有关解决此问题的任何提示吗?
答案 0 :(得分:3)
过了一段时间,终于,我已经弄明白了这个问题。我的回答可以暗示任何面临同样问题的人。
头文件中的NSTextField声明如下:
@property (nonatomic, weak) IBOutlet NSTextField *description;
Word“description”是NSObject的保留字,因此一般应该避免使用它。
这解决了我的问题:
@property (nonatomic, weak) IBOutlet NSTextField *desc;