SWIFT uiviewcontroller init

我开始使用swift

当我可以避免使用故事板时,使用objective-C ,初始化视图控制器很容易。 我只是创建一个UIViewController子类,我会将所有初始化代码放在initWithNibName

现在有了故事板,我迷失了。 我创建了一个UIviewController子类,我尝试添加init (nib名称)和init (编码器),但它崩溃了。

这是我的代码

  // // SecondViewController.swift // tabTestWithSwift // // Created by Marianna Ruggieri on 02/11/14. // Copyright (c) 2014 Marianna Ruggieri. All rights reserved. // import UIKit class FirstViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { println("init with nib") super.init() tabBarItem.title = "test" } required init(coder aDecoder: NSCoder) { //fatalError("init(coder:) has not been implemented") print("init coder") super.init() } } 

它崩溃了。 这是崩溃图片: http : //oi62.tinypic.com/10ogwsh.jpg

编辑:我没有做任何特别的事情。 开始了一个TabBar项目。 并按照上面的代码中的说明编辑了视图控制器。 而已!!!!

如果我正在使用故事板,这是初始化UIViewController的正确方法? 我应该在哪里设置视图控制器的所有设置? 对于某些设置,确实加载太迟了。

您正在通过调用super.init()创建一个循环,您应该在其中调用init(nibName:nibBundleOrNil)init()的超级实现调用你的方法,然后再调用super init。