Mar*_*nna 2 initialization uiviewcontroller ios swift
我开始使用swift.
与目标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()
}
}
Run Code Online (Sandbox Code Playgroud)
它崩溃了.这是崩溃图片:http: //oi62.tinypic.com/10ogwsh.jpg
编辑:我没有做任何特别的事情.开始了一个TabBar项目.并按照上面的代码中的说明编辑了视图控制器.而已!!!!
UIViewController如果我正在使用故事板,这是初始化的正确方法?我应该在哪里设置视图控制器的所有设置?对于某些设置,确实加载太迟了.
您正在通过调用super.init()应该调用的位置来创建循环init(nibName:nibBundleOrNil).超级实现init()调用你的方法,然后再调用super init.