我刚开始学习Apple Swift我无法解决这个问题,我有方法帮助Objective-C请重写Apple Swift
- (void)setClass:(Class)aClass {
NSObject *object = [[aClass alloc] init];
}
调用方法(用户从NSObject继承):
[self setClass:[User class]];
如何在Apple Swift上重复此类操作? 谢谢!
答案 0 :(得分:8)
Here is an article关于在Swift中按名称实例化类。通过使用方法
创建Objective-C类可以解决该问题+ (id)create:(NSString *)className
{
return [NSClassFromString(className) new];
}
并从Swift调用它。 源代码在GitHub上:https://github.com/ijoshsmith/swift-factory
<强>更新强>
Here是一个更简单的解决方案:
var clazz: NSObject.Type = TestObject.self
var instance : NSObject = clazz()
if let testObject = instance as? TestObject {
println("yes!")
}
当然,该类必须是NSObject的子类。
您的功能将是:
func setClass (myClass: NSObject.Type){
var object = myClass()
}