tableView にランダム データを入力します。そのため、行の数と、必要な画面にリダイレクトする方法がわかりません。私は満たされました:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyClass *currentScreenElement = [self.tableRows objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:currentScreenElement.objectName];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:currentScreenElement.objectName];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
cell.textLabel.text = currentScreenElement.objectName;
return cell;
}
そして、これはうまくいきます。塗りつぶされた行を持つtableViewがあります。今、私は新しい画面にリダイレクトしたいのですが、次のようにしています:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NewScreenClass *myScreen = [[NewScreenClass alloc] init];
self.detailViewController = [[CreateView alloc] initWithScreenDef:[myScreen returnScreenFromName:@"second"]];
[self.navigationController pushViewController:self.detailViewController animated:YES];
}
もちろん、ここで実際に行っていることは、すべての行に対して同じ画面を作成することです。しかし、どうすれば私が望む画面にリダイレクトできますか? 私のcurrentScreenElement
オブジェクトには、( objectName
tableView の表示名) とobjectTarget
(画面定義) のプロパティが含まれています。両方とも NSString.
そして、私の質問は、currentScreenElementを行パッチに保存する必要があるか、または表示名からobjectNameをキャッチする必要があるかどうかです。