2011-01-26 60 views
2

我有一個表格視圖與自定義單元格。每個單元格都有圖像和文本,並且正在偵聽通知。任何人都知道如果在內存中分配一個單元格作爲模板會更好,然後複製基本佈局,而不是每次需要創建單元時分配一個新實例?我必須測試,但我很懶惰:)謝謝。性能問題alloc vs copy

回答

0

UITableViewCell沒有實現NSCopying協議,因此您必須自己在自定義子類中實現它。所以如果你打算寫出你自己的-copyWithZone:的實現,那麼問題是代碼如何比你現在正在做的更有效率?

+0

是的,我想我將不得不測試並比較兩個版本。我需要提高執行的性能,涉及到幾件事。當我重新設計它時,我只是想到了這一點,我決定在嘗試之前先詢問一下。我會回到我的結論。 – Jorge 2011-01-26 23:49:44

1

在您創建單元之前,您應該在UITableView上調用dequeueReusableCellWithIdentifier:並檢查它是否爲nil。如果是,請用initWithStyle:reuseIdentifier:創建新的單元格。確保所有單元的重用標識符都相同,前提是它們都具有相同的佈局。這是蘋果爲處理你描述的這個問題而規定的標準方式。

看一看herehere瞭解更多詳情。

+0

感謝您的回答,但我的問題在於單元格的創建。我已經在渲染表視圖之前創建了單元,所以我只返回與我的數組上的索引相匹配的元素。 – Jorge 2011-01-26 23:42:09