显然,此问题已在Beta 3中修复,因此不再需要解决方法
我发现了一个纯粹的Swift hack:
func classFromType<T: NSObject>(type: T.Type) -> AnyObject! { return T.valueForKey("self") //ask for class indirectly...}var clazz: AnyObject = classFromType(NSAttributedString.self)var classes = [clazz]
先前的答案
我无法
Class在Swift中以任何方式获取实例。似乎无法直接从转换
AnyClass。例如,以下 *** 作是不可能的(将在运行时崩溃)
var classes: NSMutableArray = []classes.addObject(NSClassFromString(NSAttributedString.className()))
因此,我进入了Obj-C并定义了一个简单的
NSMutableArray类别:
@implementation NSMutableArray (ClassArray)- (void)addClassByName:(NSString *)className { [self addObject:NSClassFromString(className)];}@end
然后
var classes: NSMutableArray = []classes.addClassByName(NSAttributedString.className())
可以,但是有点hack。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)