- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- +(Person *)sharedInstance;
- @end
- @implementation Person
- // static变量shared存储一个单例的指针,并强制所有对该变量的访问都必须通过类方法+(id)sharedInstance
- static Person *sharedInstance=nil;
- +(Person *)sharedInstance{
- // GCD多线程访问,Xcode模板有
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- // 如果没有实例,则创建
- sharedInstance=[[Person alloc] init];
- });
- // 有的话,返回已创建的实例
- return sharedInstance;
- }
- @end
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- return 0;
- }
- }
复制代码 |
|