3

以下の古典的なパターンでは、cellから返されるのdequeueReusableCellWithIdentifierは常に非nilです。なんで?最初にいくつかのセルを割り当てる必要がありませんか?それから、いくつかを再利用することができますか?

カスタマイズセルを使用していますが、ストーリーボードで作成されました。(ただし、デフォルトのUITableViewCellを使用した場合、現象は同じです。返されるセルは常にnon-nilです)。

環境:Xcode 4.3.3 iOs 5.1

AlbumListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AlbumCell"];

//cell always non nil --- why??
if(cell == nil){
    cell = [[AlbumListCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"AlbumCell"];

}
4

2 に答える 2

6

ストーリーボードを使用していて、UITableViewCellの識別子をストーリーボードファイルのdequeueReusableCellWithIdentifier(この場合は「AlbumCell」)で使用している識別子に設定すると、UITableViewは常にセルを作成します。これは絵コンテの特徴だと思います。ストーリーボードに識別子が見つからない場合は、セルを手動で作成する必要があります。

于 2012-08-03T02:10:45.887 に答える
0

セルの戻りがゼロになる可能性があることはわかっているので、確認する必要があります。通常、これは当てはまりません。指定した識別子からセルを作成する必要があるためです。たとえば、識別子が正しくなく、プールが空の場合は、nilを取得し、alocinitを実行して新しいセルを作成できると思います。また、xcodeで作成したプロトタイプセルを追加する必要があります。これがセルを作成するものであるため、nil以外で開始する必要があり、作成する必要はありません。

これにもっとよく答えるには、iTunesにアクセスして、iPadおよびiPhoneアプリケーション開発-PaulHegarty-スタンフォードCS193pコースに進んでください。講義(25)に移動します。9。テーブルビューは26分に移動します。

于 2012-08-03T01:59:18.857 に答える