界面间的传值

属性传值----从前往后
步骤:
 1.在后一个界面定义属性.(属性类型和传输数据类型一致)
 2.在从前一个界面进入下一个界面之前, 将数据传给第二界面
 3.第二个界面取出对应的数据给对应的控件显示
代理传值----从后往前 
 步骤:1.在后一个界面定义协议:(定义一个传值的方法, 这个方法必须有参数, 参数的类型必须和传输数据类型一致)
       2.后一个界面,定义代理属性, 用来保存代理对象
       3.在进入到后一个界面之前, 指定后一个界面的代理对象为前一个界面
       4.前一个界面服从协议
       5.前一个界面实现协议中的方法
       6.后一个界面让代理执行协议中的方法(执行方法时, 把传输数据作为方法的参数)时机是返回上一界面之前
单例传值----从前往后或者从后往前
 单例传值
 1.定义单例类, 提供创建单例对象的+号方法 命名规范:以main shared standard defalut开头
 2.在单例类中定义属性, 存储要传递的数据(属性类型和传输数据类型一致)
 3.在进入下一界面之前, 将数据让单例对象存储

 4.在其他界面中 直接从单例对象中获取数据即可



  单例:保证一个类只能有一个对象
 新建单例类 添加创建对象的+号方法, 内部保证无盖该方法调用多少次. 对象只创建一个.
 单例优势:(1)节省空间(只能创建一个对象)
                (2)共享内存单元
弊端: 单例的空间在整个应用程序运行期间空间都不会回收. 会存在内存泄露问题, 他存在的意义在于解决特定的问题

.h
@interface Singleton : NSObject
//提供创建单例对象的便利构造器方法, 命名规范:以main shared standard defalut开头
+ (Singleton *)mainSignleton;
//存储输入框中的数据
@property (nonatomic, copy) NSString * data;
@end



.m
+ (Singleton *)mainSignleton
{
 //加同步锁:
    @synchronized (self){
    //静态变量
    //初始化一次
   static Singleton * singleton = nil;
    if (singleton == nil) {
        singleton = [[Singleton alloc] init] ;
    }
    return singleton;
   }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值