2014-03-07 75 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

相關問題