2015-02-23 72 views
0

有人可以幫我弄清楚爲什麼我不能在使用Xcode6的Swift中修復這個錯誤?我試圖初始化所有的按鈕,所以他們不是零,它告訴我,當我以爲我沒有宣佈什麼。有什麼建議麼?所需的init方法行給我錯誤。'預期的聲明'初始化函數錯誤(swift)

import UIKit 
class ViewController: UIViewController { 
    @IBOutlet weak var displayLabel: UILabel! 
    @IBOutlet weak var buttonOne: UIButton! 
    @IBOutlet weak var buttonTwo: UIButton! 
    @IBOutlet weak var buttonThree: UIButton! 
    @IBOutlet weak var buttonClear: UIButton! 
    @IBOutlet weak var buttonFour: UIButton! 
    @IBOutlet weak var buttonFive: UIButton! 
    @IBOutlet weak var buttonSix: UIButton! 
    @IBOutlet weak var buttonX: UIButton! 
    @IBOutlet weak var buttonSeven: UIButton! 
    @IBOutlet weak var buttonEight: UIButton! 
    @IBOutlet weak var buttonNine: UIButton! 
    @IBOutlet weak var buttonDiv: UIButton! 
    @IBOutlet weak var buttonPlus: UIButton! 
    @IBOutlet weak var buttonZero: UIButton! 
    @IBOutlet weak var buttonMin: UIButton! 
    @IBOutlet weak var buttonEq: UIButton! 
    @IBOutlet weak var buttonSet: UIButton! 
    var userIsTyping: Bool = false 

    required init(coder aDecoder: NSCoder) { 
     displayLabel = UILabel() 
     buttonOne = UIButton() 
     buttonTwo = UIButton() 
     buttonThree = UIButton() 
     buttonFour = UIButton() 
     buttonFive = UIButton() 
     buttonSix = UIButton() 
     buttonSeven = UIButton() 
     buttonEight = UIButton() 
     buttonNine = UIButton() 
     buttonZero = UIButton() 
     buttonClear = UIButton() 
     buttonX = UIButton() 
     buttonPlus = UIButton() 
     buttonDiv = UIButton() 
     buttonMin = UIButton() 
     buttonEq = UIButton() 
     buttonSet = UIButton() 
     super.init(coder: aDecoder) 
    } 

回答

0

Apple documentation

的出口是引用另一對象中的對象的屬性。該參考文件通過Interface Builder存檔。每次包含對象從其nib文件中取消存檔時,包含對象與其出口之間的連接將重新建立。包含對象包含聲明爲具有IBOutlet的類型限定符和弱選項的屬性的插座。

所以,你不應該實例化一個@IBOutlet對象,因爲它們的目的是連接到storyboard或.nib文件上的UI對象。

你說你這樣做是爲了避免nil指針。這是什麼時候發生的?