-1

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オブジェクトには、( objectNametableView の表示名) とobjectTarget(画面定義) のプロパティが含まれています。両方とも NSString.

そして、私の質問は、currentScreenElementを行パッチに保存する必要があるか、または表示名からobjectNameをキャッチする必要があるかどうかです。

4

2 に答える 2

3

didSelectRowAtIndexPath では、次を使用してセルを取得できます

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

次に、セルからテキストを取得します。

cell.textLabel.text
于 2012-05-07T09:07:40.920 に答える
1

self.tableRows配列を再度使用できないのはなぜですか?

MyClass *currentScreenElement = [self.tableRows objectAtIndex:indexPath.row];
NSString *title = [currentScreenElement objectName];

その行を設定するために行ったのと同じことです。もう一度使用してください。

于 2012-05-07T09:14:41.973 に答える