私は初心者の iOS プログラマーです。現在、iPad 固有のプロジェクトに取り組んでいます。このプロジェクトでは、カスタム描画が必要UIview
でした。これまでは問題ありませんでした。今、私がやろうとしているのは、サブクラスにいくつかのドロップダウン リストを作成することです。このために、私は非常に基本的なアプローチに従いました。ボタンを作成し、そのすぐ下に配置しました。ロード時に非表示のままです。しかし、ユーザーがボタンに触れると、配列からフェッチされたセル内のデータが表示されます。 .私もこれを行うことができました。drawRect
UIView
loadView
UIViewController
UIview
UITableView
UITableView
table view
私ができなかったのは、これと同じことを複数で実現することですUITableView
。別のtable view
場合、このようなことを作成しました...
- (id)initWithFrame:(CGRect)frame
{
arryData = [[NSArray alloc] initWithObjects:@"Samsung",@"HTC",@"Apple",nil]; //data for first table
parameterData = [[NSArray alloc]initWithObjects:@"Tax Expenses",@"Pretax amount",@"assets",nil]; //data for second table
tabletableForComany.dataSource = self;
tableForComany.delegate = self;
tableForParameter.delegate = self;
tableForParameter.dataSource = self;
}
プログラムを実行するときに他のデリゲートとデータソースメソッドを実装した後、例外が発生しました
Assertion failure in -[UITableViewRowData _updateSectionRowDataArrayForNumSections:]
この方法に問題があると思います
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier ];
}
// Set up the cell...
if(tableView.tag == 1)
{
cell.textLabel.text = [arryData objectAtIndex:indexPath.row];
return cell;
}
else if (tableView.tag == 2)
{
// Set up the cell...
cell.textLabel.text = [parameterData objectAtIndex:indexPath.row];
return cell;
}
}
テーブルを 1 つだけ設定するdatasource
と、エラーは発生しませんでしたが、どのテーブル セルにもデータが表示されませんでした。助けていただければ幸いです。前もって感謝します