的静态方法在我的应用程序中,我得到了一个名为A
的类。我有两个类(B
和C
),从这个类继承。执行类型
Controller
类有一个方法class func D(includeStored: Bool, completion: (results: [Controller]) -> Void)
。
这是一个关于Controller类的静态方法,我的2个子类可以用覆盖这个方法,但是它并不确定。
我想创建一个类型的他们我的2子类数组,像这样:
var myTypes = [ B.self, C.self ]
话,我想在这些类型的执行功能A
,但我我无法完成这件事。
我曾尝试:
for item in myTypes {
(item as A.self).D(false, completion: { (results) -> Void in
});
}
这是行不通的。也没有演员它(显然)不起作用,因为那么它是一个AnyObject。因为它不是一个对象,但是我想使用的类不能正常投射。
也试过这个,但是这个崩溃,因为它试图实例化类型,但它也是一个NSManagedObject,所以它不能通过这种方式实例化(item()
)。
var myTypes: [A.Type] = [ B.self, C.self ];
for item in controllerClasses {
var i = item();
i.dynamicType.D(false, completion: { (results) -> Void in
NSLog("Found: \(results.count)");
});
}
任何关于如何让这个工作的指针?