2015-12-01 26 views
2

如果dequeueReusableCellWithIdentifier一旦他們離開屏幕就重複使用單元格,這是否意味着單元格上設置的實例變量會因其新用法而被覆蓋?例如,如果我要在實例變量中緩存單元格的高度,如果稍後使用同一單元格顯示不同的數據項,那麼單元格的高度是否會被覆蓋?dequeueReusableCellWithIdentifier是否禁止單元格實例變量?

應該將這些數據存儲在表視圖中的數組中嗎?

+0

你是在談論一個UITableViewCell中保存的實例變量?如果是這樣的話,我會將單元格的高度存儲在數據源中。 – Hackmodford

+0

是的,我是。 1234 –

+0

好的,把單元想象成一個顯示您在其他地方獲得的信息的外殼。 – Hackmodford

回答

1

對於您確定的原因,您無法對數據或屬性進行任何假設(UITableViewCells)。UIKit可能會或可能不會從內存中釋放單元實例(假設它將消失)。

就像@ hackmodford所評論的那樣,專門存儲有關某個單元格高度信息的更好方法是通過tableViewsUITableViewDataSource中的數據結構來管理它。一個數組聽起來合適。