私はあなたの質問を理解していれば、これはあなたが探している説明です:
プロトタイプ(再利用):
あなたはダイナミック細胞を使用する場合は、あなたがプロトタイプ細胞を使用します。つまり、IBまたはコード内で、UITableViewCell
のインスタンスを作成し、識別子(reuseIdentifier
)を指定します。 UITableView
は、プロトタイプを使用して、必要な数のセル(行)を生成します。 UITableView
は、画面を満たすために必要な数だけセルを作成(およびメモリを使用)します。これらの細胞のいくつかは、画面をオフに行くたら、UITableView
はそれらを再利用 - にそれらをリサイクルしています。
あなたはUITableView
以上プロトタイプのセルを定義することができます。アイデアは、それぞれのプロトタイプが異なる目的を果たしているということです。たとえば、1つの大きなUILabel
しか持たないプロトタイプセルを定義し、その目的は静的テキストを使用することです。 UIImageView
が1つしかない別のプロトタイプを定義します。これは、デザインとデータの表示方法によって異なります。
あなたはダイナミックプロトタイプ細胞を使用して、identifier
を設定し、IBで、プロトタイプ細胞を使用すること。これらの方法はのUITableViewのデリゲートメソッドです
– tableView:numberOfRowsInSection:
– tableView:cellForRowAtIndexPath:
:次に、あなたのようなUITableViewDataSource
メソッドを実装する必要があります。
IBを使用していない場合は、– tableView:cellForRowAtIndexPath:
方法で細胞を作成します。
のUITableViewCell *セル= [[UITableViewCellのアロケーション] initWithStyle:(UITableViewCellStyle)スタイルreuseIdentifier:(NSStringの *)reuseIdentifier];
静的:
静的細胞の考えはただシンプルです。プロトタイプセル(プロトタイプのみなど)を使用して、たとえばデータソースとしてスタティックNSArray
をフィードできます。 UITableViewDataSource
メソッドを実装するタスクを実行するために、AppleはスタティックボードとIBのみを使用するスタティックセルを導入しました。 IBでは、テーブルビューを選択し、代わりにスタティックセルを選択し、テキストを入力するか、イメージを設定します。 静的なセルを動的に変更したくない場合は、あとで静的なセルを実行するときではないので、静的なセルを変更する必要はありません。選択された行のindexPath
を取得する作業はあまりありませんが、スタティック・セルの選択から新しいビューをプッシュする必要がある場合は、コードを実装するのではなく、seguesを使用します。
UITableViewDataSource
メソッドを実装しないでください。そうでない場合は、アプリケーションがクラッシュし、逆の場合は、プロトタイプセルを使用するときにUITableViewDataSource
メソッド(必須)を実装しないと、アプリケーションがクラッシュします。
スタックトレースを共有できますか? – sosborn