【发布时间】:2015-11-27 20:30:57
【问题描述】:
我有以下课程:
class ReportView: NSView {
var categoriesPerPage = [[Int]]()
var numPages: Int = { return categoriesPerPage.count }
}
编译失败并显示以下消息:
实例成员“categoriesPerPage”不能用于类型 '报告视图'
这是什么意思?
【问题讨论】:
-
猜你要声明一个计算属性
numPages而不是一个闭包删除等号:var numPages: Int { return categoriesPerPage.count } -
能否更彻底地解释此错误消息的确切含义?我在完全不同的背景下看到它。
-
当你在类范围内声明一个块时,就像上面一样,你受限于类型中可用的内容。您无权访问任何实例成员。
-
注意:错误信息与您尝试create a lazy variable but forgot one of the requirements 时收到的类似。在您的情况下,您不需要惰性变量,因为
categoriesPerPage被定义为var而不是let。 -
Remove = from: var numPages: Int =
标签: swift instantiation getter-setter computed-properties