如何在Swift中创建类数组

如何在Swift中创建类数组,第1张

如何在Swift中创建类数组

显然,此问题已在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。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5622474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存