首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当激活新的ViewController时,传递的变量首先是(null),然后是正确的

当激活新的ViewController时,传递的变量首先是(null),然后是正确的
EN

Stack Overflow用户
提问于 2010-07-22 04:06:09
回答 1查看 106关注 0票数 0

我有一个非常愚蠢的问题。我有一个TableView,我想通过将每个单元格推入DetailController来使每个单元格都可以编辑。到目前为止,它是有效的,但是当我这样做的时候

代码语言:javascript
运行
复制
NSLog(@"selectedItem: %@", selectedItem_);

viewDidLoad中,日志显示:

代码语言:javascript
运行
复制
selectedItem: (null)
selectedItem: Toe

RootViewController (didSelectRowAtIndexPath):

代码语言:javascript
运行
复制
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):

代码语言:javascript
运行
复制
NSLog(@"selectedItem: %@", selectedItem_);
[super viewDidLoad];

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2010-07-22 04:30:08

您不能假定viewDidLoad只调用一次。如果视图是因为内存而卸载的,或者当视图从nib加载时,它可能会被调用多次。

将初始化放在init方法中。

关于stackoverflow的类似问答

viewDidLoad getting called twice on rootViewController at launch

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3303357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档