Использование функции 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 или любым другим подходящим вам способом.