如果您可以定位 iOS 4.0 或更高版本
使用GCD,这是在Objective-C(线程安全)中创建单例的最佳方式吗?
+ (instancetype)sharedInstance
{
static dispatch_once_t once;
static id sharedInstance;
dispatch_once(&once, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
这是创建类实例的完全可接受且线程安全的方式。从技术上讲,它可能不是“单例”(因为这些对象中只能有 1 个),但只要您只使用[Foo sharedFoo]
方法来访问对象,这已经足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)