在 Objective-C 中我有一个分类:
@implementation NSObject (Entity)
+ (instancetype)entity{
Class cl = self.class;
NSObject *obj = [[cl alloc] init];
return obj;
}
@end
假设有A类和B类:
@interface A : NSObject
@end
@interface B : NSObject
@end
然后我可以使用静态entity
方法创建对象,例如:
NSObject *o = [NSObject entity]; // type of NSObject
A *a = [A entity]; // type of A
B *b = [B entity]; // type of B
我该如何在Swift中写出这个类别?我知道,如果了解类型,可以创建一个对象,例如let s = NSString.self; var str = s.init()
,但在这里我不知道类别,应该是类似于self.self
的东西,但它没有意义并且肯定无法工作。
提前致谢。