Я починаю використовувати швидкий.
з Мета-C коли я міг уникнути використання розкадровки, ініціалізація контролера перегляду була легкою. Я б просто створив UIViewController
підклас, і я б поставив весь код ініціалізації всередину
initWithNibName
.
Тепер з розкадровки я втратив UIviewController
підклас, я спробував додати init
(прізвище) і 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
EDIT: Я не зробив нічого особливого TabBar
проекту. і редагував контролер перегляду, як ви бачите в коді вище. Це воно!!!!
який є правильним способом ініціалізації a UIViewController
якщо я "з використанням розкадровки", де я повинен поставити всі налаштування для мого контролера подання?
Відповіді:
6 за відповідь № 1Ви створюєте цикл за допомогою виклику super.init()
де ви повинні телефонувати init(nibName:nibBundleOrNil)
. Супер реалізація init()
викликає ваш метод, який, в свою чергу, знову викликає супер.