2015-02-23 4 views
0

Может кто-нибудь помочь мне выяснить, почему я не могу исправить эту ошибку в Swift с помощью Xcode6? Я пытаюсь инициализировать все мои кнопки, поэтому они не ноль, и это говорит мне, что я не объявляю что-то, когда я думал, что это так. Какие-либо предложения? Необходимая строка метода инициализации дает мне ошибку.Ошибка «ожидаемого объявления» в функции init (быстро)

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 объекта, так как они предназначены для подключения к объекту пользовательского интерфейса на раскадровке или .nib файл.

Вы сказали, что делаете это, чтобы избежать указателя nil. Когда это происходит?

Смежные вопросы