我开始使用Swift。
在使用 Objective-C 且不使用storyboard的情况下,初始化视图控制器很容易。只需要创建一个UIViewController
子类,然后将所有初始化代码放在initWithNibName
中即可。
现在有了storyboard,我有些迷茫。我创建了一个UIviewController
子类,尝试添加init
(nib name)和init
(coder),但程序崩溃了。
这是我的代码:
//
// 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项目,并像您在上面的代码中看到的那样编辑了视图控制器。就是这样!!
如果我使用Storyboard,初始化UIViewController的正确方法是什么?我应该在哪里放置所有视图控制器的设置?对于某些设置,负载太晚了。
init
方法,除非你在那里做了一些实质性的操作,而你并没有(而且设置title
的部分可以移到viewDidLoad
)。