总结:两个页面切换并传值

怎么样实现两个页面切换并传 值 ?
两 个页面切换我会,并且这个很简单了。。
但发现不能传值,为什么?

谢谢啦~

1,在init函数中可以加个参数。Initwithxxxx

2,委托
3,通知

4,单例 

代理  属性  单列 通知 传值都行的啊

对于不同的viewcontroller之间数据的共享和处理,我总结有下面几种方式
1)采用代理模式 子viewcontroller设计 代理协议,定义协议接口,父viewcontroller 实现协议接口,实现子viewcontroller 退出时将相关数据更新到父视图。
2)采用ios的消息机制 父viewcontroller注册消息 子viewcontroller 发送消息,触发父viewcontroller的消息处理。
3)采用database做为数据中间的存储媒介,子viewcontroller将状态数据存入DB,父viewcontroller从DB获取数据更新view。
4)采用ios的NSDefault 存储
5)通过AppDelegate 中定义全局变量实现中间数据的存储。

其实就分为两大类:直接传递与间接传递。其中间接传递里面还可以定义一个singleton,用来共享数据。


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    FirstViewController *firstVC = [[FirstViewController alloc] init];

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

    [firstVC release];

    firstVC.label.text = [data objectAtIndex:indexPath.row];

}


在first.h
@interface first : UIViewController {
    NSArray * array_;
}

@property (nonatomic, retain)  NSArray * array_;
@end
在first.m
@implementation first
@synthesize array_;
- (void)displayNextViewController {
    second * sc = [[second alloc] init];
    sc.array_ = self.array_;//把自己的array传给second类得array
    [self presentModalViewController:sc animated:YES];
}

在second.h中
@interface second : UIViewController {
    NSArray * array_;
}

@property (nonatomic, retain) NSArray * array_;
@end

这个@property就是设置属性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值