Использование функции forEach с массивом NSBox

Я недавно использовал

Array.forEach{ $0.isHidden = false }

функция с NSTextFields для macOS в Xcode 8 с использованием Swift 3. Я пытаюсь сделать то же самое с NSBoxes. Вот что я делаю:

let Boxes: [NSBox] = [notesBox, manualEditBox, addSubmasterAutoBox, submasterFileDetailsBox]
Boxes.forEach{$0.isTransparent = false}

Во второй строке выдается сообщение об ошибке: "Невозможно использовать элемент экземпляра" notesBox "в инициализаторе свойства, инициализаторы свойства запускаются до того, как станет доступным само" ". Я могу гарантировать, что все эти NSBox-ы связаны правильно и на них ссылаются, используя @IBAction.

1 ответ

Убедитесь, что вы не пытаетесь инициализировать содержимое массива в области видимости контроллера. Вы должны объявить массив и затем заполнить его другими свойствами (например, полями) в viewDidLoad или любым другим подходящим вам способом.

Другие вопросы по тегам