我已经在视图上创建了一些继承,我想尝试处理抽象视图类的方式来创建一个viewController根据视图类的动态名称。下面是我做什么:NSClassFromString发现零,同时展开一个可选值
let className = NSObject.getClassNameFromDynamicType(self)
var viewControllerName = NSString(format: "%@ViewController", className)
// Create view controller from widgetType
var anyobjectype :AnyObject.Type = NSClassFromString(viewControllerName)
var nsobjectype : UIViewController.Type = anyobjectype as UIViewController.Type
和getClassNameFromDynamicType方法:
class func getClassNameFromDynamicType(thing:AnyObject) -> String {
var complexClassName = NSStringFromClass(thing.dynamicType)
return complexClassName.componentsSeparatedByString(".").last!
}
这个方法返回我正确的字符串: “MyCustomViewController” 但我在有一个
fatal error: unexpectedly found nil while unwrapping an Optional value
致电
var anyobjectype :AnyObject.Type = NSClassFromString(viewControllerName)
调试器告诉我,viewcontrollerName不是零,并具有正确的值。 我错过了什么?
'AnyObject.Type'也被称为'AnyClass' – newacct 2014-10-01 19:55:45