/ / SWIFT uiviewcontroller init - ios, swift, uiviewcontroller, initialisation

SWIFT uiviewcontroller init - ios, swift, uiviewcontroller, initialisation

Je commence à utiliser rapide.

avec objectif c Quand j'ai pu éviter d'utiliser le storyboard, l'initialisation d'un contrôleur de vue était facile. Je voudrais juste créer un UIViewController sous-classe, et je mettrais tout le code d'initialisation à l'intérieur initWithNibName.

Maintenant, avec le storyboard, je suis perdu. J'ai créé un UIviewController sous-classe, j'ai essayé d'ajouter init(nom de la plume) et init(codeur) mais ça plante.

C'est mon code

   //
//  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()
}

}

ça plante. voici la photo de l'accident: http://oi62.tinypic.com/10ogwsh.jpg

EDIT: Je n’ai rien fait de spécial. A commencé une TabBar projet. et édité le contrôleur de vue comme vous le voyez dans le code ci-dessus. c'est tout!!!!

qui est la bonne façon d'initialiser un UIViewController Si j'utilise le storyboard, où dois-je placer tous les paramètres de mon contrôleur de vue, le chargement est trop tardif pour certains paramètres.

Réponses:

6 pour la réponse № 1

Vous créez une boucle en appelant super.init() où vous devriez appeler init(nibName:nibBundleOrNil). La super implémentation de init() appelle votre méthode, qui à son tour appelle à nouveau super init.