假设有一个AccountManager类,想要在整个应用中访问该类的共享实例,可以这么写



+(AccountManager *)shareManager {
//在这个类方法里面先实例化一个对象,并将其置空;
static AccountManager * sharedAccountManagerInstance = nil;

//利用GCD中的C语言语法,创建一个线程,并且这个线程是只执行一次的线程。
static dispatch_once_t predicate;

 

 

//接下来调用一个块语法,就是调用只执行一次的函数,把这个函数放到predicate这个只执行一次的线程里面,然后在这个块里面初始化。

dispatch_once(&predicate,^{sharedAccountManagerInstance = [self alloc] init];});

//返回这个单例。
return shareAccountManagerInstance ;

}




//在任何地方想要共享实例 只需要先引入头文件,然后再在这个类里面如下实例化就行。
AccountManager * accountManager = [AccountManager shareManager];

posted on 2015-07-21 10:33  奋斗的王布斯  阅读(308)  评论(0编辑  收藏  举报