報錯:this class is not key value coding-compliant for the key closeLotTextField解決方法
幾種情況下都會報這種錯誤:
1,加載自定義的tableViewCell的時候總是死在:
XInstrumentOpenCell*cell = [tableViewdequeueReusableCellWithIdentifier:CellTableIdentifier];
log里面報錯:this class is not key value coding-compliant for the key closeLotTextField
解決方法:
因為xib的屬性檢查器中,沒有設置Identifier為cellID
staticNSString*CellTableIdentifier
=@"cellID";
2,在加載WorkingOrder界面的時候,總是報這個錯誤:
解決方法:
因為在xib的連接中,有一個變量stateLabel是已經刪除了的(用phaseLabel代替了)。雖然代碼已經刪除了,但是連線還是存在于xib文件中。
刪掉這個多余的連接線就好了。
3,檢查代碼拼寫,有時候改了類的名字,但是有些地方沒有改過來,就會一直報這種錯誤,比如
NSArray*secondLevelObjects = [[NSBundlemainBundle]loadNibNamed:@"XOpenPositionContentCell"owner:niloptions:nil];
重點是字串中的類名,一般使用類名定義的時候很好找出來改掉,但是寫在字串里面的不容易被發現
4,連線的時候選擇的是cell 不是file‘s owner,有時候設置了xib文件的class,但是項目未更新過來,重啟xcode。