我有一个非常愚蠢的问题。我有一个TableView,我想通过将每个单元格推入DetailController来使每个单元格都可以编辑。到目前为止,它是有效的,但是当我这样做的时候
NSLog(@"selectedItem: %@", selectedItem_);在viewDidLoad中,日志显示:
selectedItem: (null)
selectedItem: ToeRootViewController (didSelectRowAtIndexPath):
NSString *selectedItem = [content objectAtIndex:indexPath.row];
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
detailViewController.selectedItem_ = selectedItem;
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];DetailViewController (viewDidLoad):
NSLog(@"selectedItem: %@", selectedItem_);
[super viewDidLoad];我做错了什么?
发布于 2010-07-22 04:30:08
您不能假定viewDidLoad只调用一次。如果视图是因为内存而卸载的,或者当视图从nib加载时,它可能会被调用多次。
将初始化放在init方法中。
关于stackoverflow的类似问答
viewDidLoad getting called twice on rootViewController at launch
https://stackoverflow.com/questions/3303357
复制相似问题