2014-03-07 53 views
1

在我的应用程序中,我使用initWithNibName:bundle:file启动对象。我发现该对象已损坏。 当我把断点-awakeFromNib甚至init方法和控制台来电显示自(PO个体经营)我得到以下信息:- [NSTextField dataUsingEncoding:allowLossyConversion:]发送到实例的无法识别的选择器

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

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

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

+0

dataUsingEncoding是NSString的方法。在某处(例如,一个'description'方法),你正在使用NSTextField,而应该使用它的'text'属性。 (从控制台输入命令时异常断点不起作用。) –

+0

您知道,我有一堆NSTextField的nib文件,它们是网点。所有似乎都应该设置。我不从任何地方调用dataUsingEncoding:allowLossyConversion:。这个方法可能是在nib文件中调用的,我无法弄清楚它在NSTextField上调用的位置和原因。 – sumofighter666

+1

什么样的Hot Licks说的是你有这样的东西:IBOutlet UITextField * txt;并在代码中的某处做类似这样的事情:txt = @“BlaBla”。得到它,您将字符串分配给NSTextField对象。最好的一点是它不会在分配过程中崩溃,当你使用你的txt对象时它会崩溃......所以检查这种情况 – AntonijoDev

回答

3

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

的NSTextField在头文件中被声明如下:通过NSObject的

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

词“描述”被保留字,所以应避免如通用属性。

这解决了我的问题:

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

编译器可能给你一个警告。 –

+1

没有编译器没有警告我。 – sumofighter666

相关问题