Как получить доступ к значениям структуры внутри другой структуры в Swift 4? - PullRequest
0 голосов
/ 10 сентября 2018

У меня сейчас

struct cellData {
    var opened = Bool()
    var title = String()
    var iconName = String()
    var sectionData = [Any]()
}

struct SectionData {
    var subTitle: String
    var iconName: String
}

А в другой функции я вызываю:

let test = tableViewData[indexPath.section].sectionData[dataIndex]

print(test)

Какие выходы:

SectionData(subTitle: "Terms", iconName: "")

Как получить доступ к значению subTitle, потому что при выполнении test.subTitle выдается следующая ошибка:

Значение типа 'Any' не имеет члена 'subTitle'

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Измените ваш sectionData массив на массив SectionData, например: var sectionData = [SectionData](). Сделав это, вы сможете получить к нему доступ по телефону: tableViewData[indexPath.section].sectionData[dataIndex].subTitle

0 голосов
/ 10 сентября 2018

Это потому, что в вашей строке var sectionData = [Any]() вы определили тип как Any. Поэтому, когда вы получаете доступ к нему через tableViewData[indexPath.section], вы получаете значение как Any.

Вы должны изменить var sectionData = [Any]() на var sectionData = [SectionData]()

В противном случае, как только вы получите значение из tableViewData[indexPath.section], вы можете преобразовать в SectionData и затем получить доступ к значению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...