Wenn ich auf ein bestimmtes Listenelement in meinem UITableView klicke, möchte ich den Index des Elements, auf das ich geklickt habe, an die nächste Detailansicht übergeben.Pass-Index-Nummer zwischen UITableView List-Segment
Dies ist mein entsprechender Code so weit:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
HomeworkDetails *view = [[HomeworkDetails alloc] init];
int lastIndex = [indexPath indexAtPosition:[indexPath length] - 1];
NSLog(@"%u", lastIndex);
[self performSegueWithIdentifier: @"HomeworkDetailsSegue" sender:self];
view.currentIndex = lastIndex;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
An dieser Stelle kann ich erfolgreich in den nächsten Viewcontroller weitergehen (HomeworkDetails), aber die Information nicht durchlaufen. Ich versuche, dies zu tun, indem Sie view.currentIndex = lastIndex;
tun, aber das funktioniert nicht. Wie sonst kann ich das tun? Entschuldigung, wenn ich etwas verpasst habe; Ich bin ein Anfänger bei der Entwicklung von iOS.
Mit Vorschläge:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
HomeworkDetails *view = [[HomeworkDetails alloc] init];
int lastIndex = [indexPath indexAtPosition:[indexPath length] - 1];
NSLog(@"%u", lastIndex);
[self performSegueWithIdentifier: @"HomeworkDetailsSegue" sender:self];
view.currentIndex = lastIndex;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"HomeworkDetailsSegue"]) {
// note that "sender" will be the tableView cell that was selected
UITableViewCell *cell = (UITableViewCell*)sender;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell]; //**error**
HomeworkDetails *vc = (HomeworkDetails*)[segue destinationViewController];
vc.currentIndex = indexPath.row;
}
}
Ist "currentIndex" eine Eigenschaft auf Ihrem tableView-Controller oder auf dem Ziel-ViewController des Segments? – jonkroll
Es ist eine Eigenschaft auf dem Ziel ViewController. Entschuldigung für die Verwirrung. Zum Testen setze ich im Prinzip eine TextView auf den Zielcontroller dieser Eigenschaft, aber es ist immer 0. – Kgrover