Ios 如何在类方法中获得工作类型?
对于单身汉,我经常这样做Ios 如何在类方法中获得工作类型?,ios,objective-c,singleton,typeof,Ios,Objective C,Singleton,Typeof,对于单身汉,我经常这样做 + (instancetype)sharedManager { static id instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ instance = [[self alloc] init]; }); return instance; } 但是这个static id instance=nil对
+ (instancetype)sharedManager
{
static id instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
但是这个static id instance=nil
对类型没有严格要求,所以我想要
static typeof(self) instance = nil
但是
self
这里是类singleton实例,它是只读的。如何从这个类方法中推断typeof?为什么需要它对类型严格?另外,为什么要使用id
而不是类本身呢?您是否正在尝试创建一个通用的单例方法,可以自动推断出合适的类型?正如@duci9y所说,为什么不简单地为singleton类使用类名呢。当然,为您所使用的每一个单例类更改它并不需要太多工作create@Paulw11实际上,我正在创建一个单例宏。看来没有办法了