在IOS应用中,不同view及应用中经常会有传值和变量共享,有几种方式可以实现:
1.extern方式
2.单例模式
3.delegate方式
单例模式顾名思义就是只有一个实例,它确保一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。它经常用来做应用程序级别的共享资源控制。这个模式使用频率非常高,通过一个单例类,可以实现不同view之间的参数传递
#import <Foundation/Foundation.h>
@interface Session : NSObject
@property (strong,nonatomic) NSString *singleValue;
//实现单例方法
+ (Session *) GetInstance;
@end
#import "Session.h"
@implementation Session
// 单例对象
static Session *instance;
// 单例
+ (Session *) GetInstance {
@synchronized(self) {
if (instance == nil) {
instance = [[self alloc] init];
}
}
return instance;
}
-(id) init
{
if (self = [super init]) {
self.singleValue = [[NSString alloc] init];
}
return self;
}
@end
然后在需要使用单例的类import 这个单例类
Session *session = [Session GetInstance];
session.singleValue = @"好神奇阿!";
NSString *value = session.singleValue;