iOS页面跳转及数据传递

转: http://blog.csdn.net/wang9834664/article/details/8025571

iOS页面跳转:

第一种

[self.navigationController pushViewController:subTableViewController  animated:YES]; 

//描述:通过 NSNavigationBar 进行跳转 
 
[self.navigationController popViewControllerAnimated:YES]; 
//描述:在子视图返回到上级视图
 

第二种

UIViewController *control = [[UIViewController alloc] init]; 
 [self presentModalViewController:control animated:YES]; 
[control release]; 
//描述:通过事件进行跳转 
   
[self dismissModalViewControllerAnimated:YES];  
//描述:通过事件进行返回。

 

第三种

[self.view.window addSubview:otherview];
 
[self.view removeFromSuperview]

数据传递:

1)采用代理模式 子viewcontroller设计 代理协议,定义协议接口,父viewcontroller 实现协议接口,实现子viewcontroller 退出时将相关数据更新到父视图。
2)采用ios的消息机制 父viewcontroller注册消息 子viewcontroller 发送消息,触发父viewcontroller的消息处理。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setData:) name:kNotificationMessage object:nil];//注册监听,其中setData用来处理消息

 [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationMessage object:self userInfo:infoDict];//发送消息
3)采用database做为数据中间的存储媒介,子viewcontroller将状态数据存入DB,父viewcontroller从DB获取数据更新view。
4)采用ios的NSDefault 存储
5)通过AppDelegate 中定义全局变量实现中间数据的存储。

posted @ 2013-07-19 10:21 子福当自强 阅读(...) 评论(...) 编辑 收藏
悟道2012