首页 > 代码库 > UINavigationController在一个界面push到另一个界面传数据时的注意点
UINavigationController在一个界面push到另一个界面传数据时的注意点
在push到下一个controller的时候,应注意以下几点:
1》在执行push代码的时候,才创建controller,不要在push之前使用controller里面的view
如下面的错误事例:
CommentModel *model = [_arraySaveDataobjectAtIndex:but.tag];
CommentDetailViewController *commentDetailVC = [[CommentDetailViewControlleralloc] init];
commentDetailVC.navigationItem.title = but.titleLabel.text;
NSData *imageData = http://www.mamicode.com/[NSDatadataWithContentsOfURL:getImageUrl(model.filename)];
commentDetailVC.imageView.image = [UIImage imageWithData:imageData];
commentDetailVC.lable.text = model.goods_name;
commentDetailVC.ID = model.ID;
commentDetailVC.goods_id = model.goods_id;
commentDetailVC.order_id = model.order_id;
[self.navigationControllerpushViewController:commentDetailVC animated:YES];
注:标红的两句是错误的,这样会造成传过去的数据为空,因为在push之前还没创建controller
应修改为:
commentDetailVC.image = [UIImage imageWithData:imageData];
commentDetailVC.text = model.goods_name; 【不使用push到的那个controller的视图相关的内容】