單例模式是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱爲單例類的特殊類。
通過單例模式可以保證系統中一個類只有一個實例而且該實例易於外界訪問,從而方便對實例個數的控制並節約系統資源。
如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決方案。
+(StudentObject *)defaultStudent
{
static StudentObject *student;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
student = [[StudentObject alloc]init];
});
return student;
}
2、加鎖,保持單例的唯一性(防止同時申請多個對象)+(WLText *)getInstance{
static WLText *str;
@synchronized(self){//關鍵字,同步,表示同一時間只能有一個線程在訪問
if (str==nil) {
str=[[WLText alloc]init];
}
return str;
}
}