+(schoolManger *)sharedInstance{ schoolManager *inst=nil; static dispatch_once_t onceToken; dispatch_once(&onceToken,^{ inst=[[schoolManager alloc] init]; }); return inst; } void diapatch_once(dispatch_once_t *predicate,dispatch_once_t block);其中第一個參數檢查後面第二個參數所表明的代碼塊是否被調用的謂詞。該函數中的代碼塊只會執行一次,並且線程安全。 建立單例後,能夠經過如下方式獲取惟一實例 schoolManager *schoolManager=[SchoolManager sharedInstance];