属性传值 ,代理传值,单例
属性传值:(适用于从前一个界面切换到后一个界面-从前向后传值)
葵花宝典:
(1)在后一个界面定义一个属性用来接收前一个界面传过来的数据。(属性的类型和前一个界面传来的数据类型一致)
(2)在从前一个界面切换到后一个界面之前将数据传递给后一个界面
(3)第二个界面接收到数据之后将数据展示到对应的控件上。
代理传值:从后一个界面将数据传给前一个界面
九阴真经:
(1)后一个界面制定协议,声明用来传值的方法
(2)后一个界面设置delegate属性存储代理人对象
(3)前一个界面遵循后一个界面的协议
(4)将前一个界面设置成后一个界面的代理人
(5)前一个界面实现后一个界面的协议内容
(6)在适当的时机后一个界面调用代理人去执行相应的操作。
单例传值
.h
#warning 单例传值的第一步:定义单例
@interface Singleton : NSObject
#warning 单例传值的第二步:定义单例对象的创建的方法
//share default main stand创建单例对象方法一般以这四个单词开始
+ (Singleton *)shareSingleton;
#warning 单利传值第三部:定义属性,存储数据
@property(nonatomic,copy)NSString *text;
.m
static Singleton *singleton = nil;
//线程保护,当有一个线程访问了self对象,其他线程无法访问
+(Singleton *)shareSingleton {
@synchronized(self){
if (singleton == nil) {
singleton = [[Singleton alloc]init];
}
}
return singleton;
}
在适当时机调用方法