在IOS應用中,不同view及應用中經常會有傳值和變量共享,有幾種方式可以實現:
1.extern方式
2.單例模式
3.delegate方式
單例模式顧名思義就是只有一個實例,它確保一個類只有一個實例,並且自行實例化並向整個系統提供這個實例。它經常用來做應用程序級別的共享資源控制。這個模式使用頻率非常高,通過一個單例類,可以實現不同view之間的參數傳遞
#import@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;