猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何实现与ARC兼容的Objective-C单例?
如何实现与ARC兼容的Objective-C单例?
在Xcode 4.2中使用自动引用计数(ARC)时,如何转换(或创建)编译和行为正确的单例类?
慕田峪7331174
浏览 547
回答 3
3回答
森栏
完全一样,你(应该)已经这样做了:+ (instancetype)sharedInstance{ static MyClass *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do any other initialisation stuff here }); return sharedInstance;}
0
0
0
回首忆惘然
如果你想根据需要创建其他实例。这个:+ (MyClass *)sharedInstance{ static MyClass *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do any other initialisation stuff here }); return sharedInstance;}否则,你应该这样做:+ (id)allocWithZone:(NSZone *)zone{ static MyClass *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [super allocWithZone:zone]; }); return sharedInstance;}
0
0
0
吃鸡游戏
这是ARC和非ARC的版本如何使用:MySingletonClass.h@interface MySingletonClass : NSObject+(MySingletonClass *)sharedInstance;@endMySingletonClass.m#import "MySingletonClass.h"#import "SynthesizeSingleton.h"@implementation MySingletonClassSYNTHESIZE_SINGLETON_FOR_CLASS(MySingletonClass)@end
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
iOS
Swift
iOS为什么要获取webview内容高度?
1 回答
关于Swift Playgrounds 编程问题?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续