// 写一个Person类,要保证无论什么情况下创建Person对象返回的都是同一个对象(单例设计模式)。(Objective-C)
#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;
}
}
单例设计
最新推荐文章于 2024-11-18 19:10:13 发布