2 Stimmen

Wie übergibt man eine Variable von einem Tableview an ein zweites Tableview?

Ich habe einen TableViewController mit x Zeilen. Wenn der Benutzer auf eine Zeile tippt, möchte ich eine Variable an den zweiten TableViewController übergeben, die bestimmt, welche Daten der zweite TableViewController laden soll. Wie würde ich das machen?

Ich verwende Xcode 4.2, Storyboard Hier ist der Code:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *__strong)indexPath
{
    // Navigation logic may go here. Create and push another view controller.

    TestTable *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"TestTable"];

    [self.navigationController pushViewController:detail animated: YES];

    detail.num = [NSString stringWithFormat:[heads objectAtIndex:indexPath.row]];

In "heads" erhalte ich eine Zahl, die ich an den zweiten Tableview weitergeben muss, je nachdem, welcher zweite Tableview Daten anzeigt. Ich weiß nicht, ob die letzte Zeile "heads" in "num" lädt. Ist mein Ansatz richtig? Für jede Hilfe/Hinweis bin ich dankbar.

2voto

Marko Punkte 158

Geben Sie Ihrer TestTable eine Eigenschaft für die Variable, die Sie übergehen wollen, z. B.

@property (retain, nonatomic) NSNumber *myNumber;

in Ihrem didSelectRowAtIndexPath zuweisen wie:

TestTable *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"TestTable"];

// this assumes that you only have one section in your table
detail.myNumber = [NSNumber numberWithDouble:[heads objectAtIndex:indexPath.row]];

[self.navigationController pushViewController:detail animated: YES];

detail.num = [NSString stringWithFormat:[heads objectAtIndex:indexPath.row]];

Im Viewcontroller Ihrer zweiten Tabelle können Sie die Nummer wie folgt verwenden:

double d = [self.myNumber doubleValue];

1voto

jason Punkte 259
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *__strong)indexPath {
    // Navigation logic may go here. Create and push another view controller.

    TestTable *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"TestTable"];

    detail.num = [[NSString stringWithFormat:[heads objectAtIndex:indexPath.row]] intValue];
    [self.navigationController pushViewController:detail animated: YES];
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X