2015-11-18 1 views
1

Когда я пытаюсь создать массив UIButtons в ViewControllerПочему я не могу создать массив в ViewController?

Instance член «tile11» не может быть использован по типу «ViewController»

Это работает, когда я создаю его внутри метода, но мне нужно массив более чем одним методом, и становится раздражающим необходимость создания массива снова и снова.

class ViewController: UIViewController { 
    let tileArray: Array<UIButton> = [tile11, tile12, tile13, tile21, tile22, tile23, tile31, tile32, tile33] 
} 

ответ

4

Существует не хватает кода, чтобы сказать наверняка, но я предполагаю, что tile11 и другие плитки и другие переменные экземпляра (кнопка выходы быть конкретными)? Они технически не были доступны до времени выполнения. Вот почему вы не можете создать экземпляр tileArray, но почему он работает в методе. Единственный способ создать экземпляр tileArray в соответствии с объявлением - использовать константы в массиве. Вы должны инициализировать tileArray в viewDidLoad().

+0

Хорошо, спасибо за разъяснение. Это магазины. – StevoHN

+0

При перемещении его в 'viewDidLoad()' я не могу получить к нему доступ в своих методах. – StevoHN

+2

Объявите его как 'var tileArray: Array ' внешние методы, чтобы все могли его увидеть, но назначьте значение в 'viewDidLoad'. –