簡體   English   中英

SWIFT uiviewcontroller 初始化

[英]SWIFT uiviewcontroller init

我開始使用Swift

使用Objective-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

編輯:我沒有做任何特別的事情。 啟動一個TabBar項目並編輯視圖控制器,如您在上面的代碼中看到的那樣。 就是這樣!!!!

如果我使用情節UIViewController哪個是初始化UIViewController的正確方法? 我應該把我的視圖控制器的所有設置放在哪里? 對於某些設置,加載為時已晚。

您正在通過調用super.init()創建一個循環,您應該在其中調用init(nibName:nibBundleOrNil) init()的 super 實現調用您的方法,該方法又再次調用 super init。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM