2014-09-04 68 views
0

在我的cellForRowAtIndexPath,我有以下幾點:iOS 8自定義單元格:這個類別不是關鍵字描述的關鍵字編碼標準。

NSString *myIdentifier = [NSString stringWithFormat:@"ExpandableCell"]; 

ExpandableTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myIdentifier]; 

這工作完全罰款的iOS 7,但現在它的崩潰在iOS 8,出現以下錯誤:

[<ExpandableTableViewCell 0x157d8980> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key description.' 

我已經看過在最常見的問題是網點連接到文件所有者,但我的xib不再有這個(見附件):

enter image description here

回答

3

有趣。所以我猜你不能有另一個名爲'description'的變量。我的頭文件抱怨說我不能這樣做,而是我創建/重命名該屬性爲'desc',並且一切看起來都像往常一樣。

這似乎並不像iOS 8之前的版本。

+2

「描述」自石器時代以來一直是NSObject的一種方法。如果你濫用它,盒子的故障可能會改變一次或兩次,但是定義一個名爲'description'的屬性一直是一個錯誤。 – 2014-09-04 20:46:26

+0

如果應用程序在iOS 7上工作,這似乎是問題。如果意外地命名了其中一個變量「description」,並且它將其搞亂了。 – 2014-10-07 08:36:03

+0

這也發生在我身上。有一個以名稱爲描述的屬性,當我遷移到Xcode 6時,崩潰開始發生。在較早的版本中,它是可以的,但也許他們現在做了一些限制描述作爲變量/屬性名稱的用法。我不是iOS更改的專家,但使用其他名稱是明智的。 – cessmestreet 2014-11-21 08:01:30

4

沒錯。回想一下NSObject有一個方法'description'。如果您要將描述用作核心數據中的屬性,它將嘗試創建訪問器方法(即get,set),並因此與NSObject方法衝突。

相關問題