![]() ![]() ![]() ![]() |
![]() |
|
![]() |
||
![]() |
オライリーの「iPhone SDK アプリケーション開発ガイド」では、セルのIDをこんな感じで決めています。
NSString *CellIdentifier = [NSString stringWithFormat:@"%d:%d", [indexPath indexAtPosition:0], [indexPath indexAtPosition:1]]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
テーブルのセルそのもののIDをつけている感じ。
でも、他の本を見ると
NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
こんな感じですよね。
つまり、セルの種類によってIDを変える感じ。
前者だと、テーブルの行数分のセルを作ってしまって、ものすごく富豪的で無駄だと思うんですけど、どうなんでしょ?
試した結果、ご推察の通り前者はセルが再利用されることはなく、しかも毎回初期化されるので遅くなってしまいました。
後者が正しい処理ですね。
ちなみにほかにも間違えている本があるので、注意が必要です。
その解決策としてrowごとにCellIdentifierを振っているようですね。
http://ameblo.jp/cascket/entry-10479166426.html