【发布时间】:2014-02-06 06:39:20
【问题描述】:
我有一个带有自定义行的父表视图,每个都推送一个视图控制器,其中包含一个tableview 可选选项,这些选项存储为父视图控制器的属性。我的代码:
- (void) tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
/*
CrewPositions *selectedPosition = (self.crewPositionList)[indexPath.row];
[self.delegate childCrewPositionDidSelect:selectedPosition];
NSLog(@"child Selected Position: %@", selectedPosition.title);
[[self navigationController] popViewControllerAnimated:YES];
*/
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
CrewPositions *selectedPosition = (self.crewPositionList)[indexPath.row];
self.selectedCrewPosition = selectedPosition;
NSLog(@"self.selectedCrewPosition: %@", self.selectedCrewPosition);
selectedFlightHistory.crewPosition = selectedPosition;
NSLog(@"self.selectedFlightHistory.crewPosition: %@", selectedFlightHistory.crewPosition.title);
[self.delegate childCrewPositionDidSelect:selectedPosition];
NSLog(@"Popping view to parent");
[self.navigationController popViewControllerAnimated:YES];
}
工作正常,不幸的是,直到我第二次点击单元格列表后,didSelectRowAtIndexPath 方法才会被调用。当我这样做时,它将先前选择的第一行传递给父视图。忽略大量的NSLog,只记录变量在做什么。
【问题讨论】:
-
是的 - 如果您阅读您正在实现的委托方法的名称,它会有所帮助。
标签: ios objective-c uitableview popviewcontrolleranimated