我正在制作一个自定义设置,用于管理由上下文管理的视图控制器。所以我创建了自己的自定义控制器类,名为Controller
//base controller class
class Controller:UIViewController{
}
我有一个上下文类来管理控制器
//abstract base of context classes
class Context{
}
对于我的第一堂课,我正在做一个照片编辑器,所以我创建了一个继承自Controller的C_TakePhoto类(现在只是你看到的UIViewController的副本)
//manages the take photo view class
class C_TakePhoto:Controller{
override func viewDidLoad() {
super.viewDidLoad()
println("got here")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
要加载此类,我转到AppDelegate并将其设置为加载上下文(上下文只管理控制器)
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
var p:O_PhotoEditor = O_PhotoEditor()
return true
}
O_PhotoEditor只是一个打开C_TakePhoto的上下文
//manages photo editor
class O_PhotoEditor:Context{
var _photoEditorController:C_TakePhoto
override init()
{
println("Init on O_PhotoEditor")
_photoEditorController = C_TakePhoto()
super.init()
}
}
“在O_PhotoEditor上初始化”确实会在控制台中打印出来,因此我100%知道此代码被调用。但是,如果我将一行放到C_TakePhoto类中,则不会在viewDidLoad函数中调用“got here”。
我很确定我需要提供视图控制器,但我对自定义类的方式感到不知所措。
当我启动单视图应用程序时,它似乎只是自动加载第一个应用程序。
知道我错过了什么步骤让viewDidLoad实际被调用并显示视图?