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 =
[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的视图相关的内容】

UINavigationController在一个界面push到另一个界面传数据时的注意点

时间: 2024-10-12 17:46:26

UINavigationController在一个界面push到另一个界面传数据时的注意点的相关文章

iOS从当前隐藏导航界面push到下一个显示导航界面出现闪一下的问题

本文转载至 http://blog.csdn.net/woaifen3344/article/details/41284319 navios 如果有朋友遇到从当前隐藏导航界面push到下一个显示导航界面出现闪一下的问题, 下面是我写的一种方案,也就是在loadView这个生命周期函数中调用一个显示导航条,就 可以解决这个问题: [objc] view plaincopyprint? - (void)loadView { [super loadView]; [self.navigationCont

js控制5秒返回指定界面,或上一个界面

js控制5秒返回指定界面,代码如下 <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript"> function countDown(secs,surl){ //alert(surl);

自定义tabBar在push到下一个界面的时候实现隐藏

今天工作中用到了自定义tabBar,在其中隐藏掉了系统的tabBar,用view自定义一个tabBar,效果还挺好.接下来问题来了,在我push到子页面的时候就出现了tabBar无法隐藏的问题,搞了半天终于弄好了,拿出来与大家一块分享,废话不多说,直入正题. 在自定义的TabBarController.m里写方法-(void)setHidesBottomBarWhenPushed:(BOOL)hidesBottomBarWhenPushed{    self.你自己定义的View.hidden

有一个mainwindow.ui的界面类,有一个added.ui的界面类,如何将added.ui界面加入到另外一个界面呢?

首先:在mainWindow.ui界面中,加入QScrollArea,从qtCreator中拖入进去即可(或者自己手写代码添加). 然后:mainWindow.h头文件中 包含Added类的头文件 ,并定义Added类对象的指针 如下,实际代码,注释部分是要点 #ifndefMAINWINDOW_H #defineMAINWINDOW_H    #include<QMainWindow> #include"added.h" //包含Added类的头文件 namespaceU

通过超链接从一个页面向另外一个页面传数据

A.jsp <%@ page language="java" contentType="text/html; charset=utf-8"     pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quo

如何正确地写好一个界面

写界面可以说是每位移动应用开发者的基本功,也是一位合格移动应用开发者绕不过去的坎.但就如不是每一位开发者都能够成为合格的开发者一样,本人在 不同的团队中发现,甚少有人能够编写出合格的UI代码:而非常奇怪的是,在很多的开发者论坛上看到我们移动开发者更多关注于某个控件或者是动画,但却很少 看到深入剖析UI机制,指导UI开发的文章. 由于界面涉及到的方面实在过于广泛,本文不可能事无巨细,一一道来,所以本文先立足于点,深入剖析iOS UI系统中不被重视却非常重要的机制,帮助本文读者对iOS的UI系统有整

winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)

http://www.cnblogs.com/IAmBetter/archive/2012/01/14/2322156.html winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog) 需求 登录界面: 1.要求 密码 文本可以显示和隐藏 字符 password属性 2.显示输入按钮button 要求显示输入按钮 按下去之后,实现 名字变成“取消”,取消之后密码又是隐藏的 3.要求只能输入错误 3次,3次之后自动退出 4.要求点击修

一个界面中如何使用两个tableView

首先,创建两个全局的tableview; @interface TianPinXunLiViewController () { UITableView *leftTableView; UITableView *rightTableView; } @end 其次,实现代理的时候,用对象比对的方法  A isequal B #pragma - mark TableView Datasouce -(NSInteger)tableView:(UITableView *)tableView numberO

使用android ProgressBar和Toast生成一个界面

首先我需要这样一个界面 这个界面是在使用AudioManager.adjustStreamVolume(int streamType, int direction, int flags)显示出来的,记住flags这里传 AudioManager.FLAG_SHOW_UI才会显示 不然只是逻辑上调整了某个流的声音,用户他看不到界面不知道成功与否. 然后我有一个功能界面是和这个一样的,但功能不一样,好吧,我知道android自带的界面并不好看,但这里只是说明原理和方法,美观不予讨论. 这里核心的2个