紳士、
ここで助けが必要です。自分が何をしようとしているのかはわかっているようですが、コーディング時に機能させることができませんでした。シナリオは、テーブルビューを含むビューコントローラがあることです。3種類のセルがあるため、テーブルビューには3つの異なる動的プロトタイプがあります。ここで、私がやりたいのは、どのプロトタイプセルをどの行に生成するかを指定することだけです。また、ストーリーボードで各プロトタイプセルに一意の識別子を付けました。
私が理解する方法は、cellforRowatIndexpathメソッドがその行に表示するセルの種類を理解し、そのような識別子を選択し、必要に応じてコンテンツをデキューして設定する必要があるということです。
それに対応して、これは私がやろうとしている私のコードです:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath * )indexPath
{
if(indexPath.row==0)
{
static NSString *CellIdentifier = @"HelloCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// configure your cell here...
return cell;
}
}
残念ながら、物事は計画どおりに機能せず、アプリがクラッシュして2013-02-07 16:47:39.859 ProjectsABC30068:c07] *キャッチされない例外'NSInvalidArgumentException'、理由:'-[NSIndexPath setTableViewStyle:]が原因でアプリが終了します:認識されないセレクターがインスタンス0x83812e0'エラーに送信されました。
データソースとデリゲートを適切に設定したので、テーブルビュー自体に問題はありません。また、テーブルビューのアウトレットを作成しました。
また、cellforRowAtIndexPathのifステートメントをif(myTable.indexPathForSelectedRow == 0)に変更しようとしました。これにより、すべてのセルで動的なプロトタイプが生成されますが、少なくともアプリは停止しません。
何が問題だと思いますか?
インデックスパスを正しく使用する方法がわかりません。誰かがそれを手伝ってくれるなら、私はそれをいただければ幸いです。