我已經在視圖上創建了一些繼承,我想嘗試處理抽象視圖類的方式來創建一個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