我目前有
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: "")
由于执行test.subTitle会引发以下错误,因此我如何访问subTitle值:
类型“任何”的值没有成员“子标题”
答案 0 :(得分:6)
这是因为在行var sectionData = [Any]()
中将类型定义为Any
。因此,当您通过tableViewData[indexPath.section]
访问它时,您会获得一个Any
的值。
您应将var sectionData = [Any]()
更改为var sectionData = [SectionData]()
否则,一旦从tableViewData[indexPath.section]
获取了值,就可以转换为SectionData
,然后访问该值。
答案 1 :(得分:0)
将sectionData
数组更改为SectionData数组,如下所示:var sectionData = [SectionData]()
。完成此操作后,您可以通过以下方式进行访问:tableViewData[indexPath.section].sectionData[dataIndex].subTitle