2015-02-23 76 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指针。这是什么时候发生的?