故事板+泛型=未调用内联初始值设定项?

时间:2015-12-27 05:14:54

标签: ios swift generics interface-builder

我正在寻找解释为什么以下在iOS上运行时打印false。视图控制器是从一个简单的故事板中实例化的,它只包含一个表视图。

我正在使用https://stackoverflow.com/a/33658528/1919412建议的预加载技巧,以允许Interface Builder找到MyTableViewController类。我确信这与问题有关,但我想更好地了解正在发生的事情。

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    // If we don't create this dummy instance before our real view controller gets loaded from storyboard, we get this error:
    //  "Unknown class _TtC21ViewControllerInitBug21MyTableViewController in Interface Builder file."
    // See: https://stackoverflow.com/a/33658528/1919412
    let foo = MyTableViewController()

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        return true
    }
}

class Foo<T>:UITableViewController {
    init() {
        super.init(style:.Plain)
    }
}

class MyTableViewController:Foo<String> {
    private var foo = true

    override func viewDidLoad() {
        super.viewDidLoad()
        print(self.foo)
    }
}

0 个答案:

没有答案