簡體   English   中英

當僅顯示極少數單元格時,是否有必要為可重用的UITableViewCells實現出隊機制?

[英]Is it necessary to implement the dequeue mechanism for reusable UITableViewCells when displaying only a very few cells?

我的桌子里有大約五個牢房,可以肯定的是不會有更多。 我是否仍然需要實現重復使用細胞的出隊機制,還是可以立即創建細胞?

UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];

聽起來,在您的情況下,您不必擔心緩存和重用細胞。 但這是一個“最佳實踐”。 如果您對應用程序進行編碼以重復使用單元格,稍后您的應用程序發生更改並且您只有幾個單元格,那么您將獲得重復使用單元格的好處。 無論如何都沒有增加太多的開銷,所以你也可以。 或不。 由你決定! 要點是:如果你不想,那就不要了。 在這種情況下,您將看到不重復使用細胞的影響很小,IMO。

您不必被迫重用細胞。 它只是為了提高您的應用程序的性能。 它不會對你的細胞數量造成任何傷害而不會重復使用它們,但你為什么不這樣做呢? 它不是更多的代碼(只是一個簡單的調用),你可以擴展。

你當然可以這樣做,尤其是當你的tableView不滾動時。 無論如何我會考慮使用出隊機制這是一個好習慣,你可能希望將來添加單元格並且不要考慮不首先實現它,畢竟編寫的代碼不多,你可以甚至可以分兩行(雖然閱讀會很麻煩):

static NSString *Identifier = @"MyIdentifier";
UITableViewCell *cell = ((cell = [UITableView dequeueReusableCellWithIdentifier:Identifier]))?cell:[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:Identifier];

雙括號用於靜默編​​譯器警告,以便在if語句中使用賦值結果。 (我沒有測試過,它應該可以工作。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM