+(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];