2015-05-25 3 views
-3

Я вижу, что люди часто сталкиваются с этой проблемой.«ViewController.Type» не имеет члена с именем «array»

var array = [1,1] 

class arrays { 
var array2 = array //'ViewController.Type' does not have a member named 'array' 
} 

пожалуйста, помогите

+0

Что вы пытаетесь достичь, просьба предоставить более подробную информацию, чтобы люди здесь могли помочь. Помогите нам помочь вам! –

+0

Вы определяете массив вне класса? – AaoIi

+0

Спасибо @Aaoli за помощь –

ответ

2

Я предполагаю, что вы объявляете вложенной класс и использовать array объявлен в ViewController в class arrays. (Я попытался воспроизвести вашу ошибку, добавив ваш фрагмент в ViewController и, к счастью, получил ту же ошибку, что и вы упомянули :-))

Да, это возможно. см. следующий код.

var array = [1, 1] 

class arrays { 
    var array2 = ViewController().array 
} 

EDIT: Это происходит потому, что, в Swift, экземпляр внутреннего класса не зависит от любого экземпляра внешнего класса. Поэтому вам нужно создать явную ссылку для доступа к свойству внешнего класса.

Надеюсь, это поможет.

+0

Я только что узнал что-то новое, спасибо @VivekMolkar – Icaro

+0

Спасибо _very_ much @VivekMolkar –

+0

Можете ли вы объяснить, почему, пожалуйста? –

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