一尘不染

实例成员不能用于类型

swift

我有以下课程:

class ReportView: NSView {  
    var categoriesPerPage = [[Int]]()
    var numPages: Int = { return categoriesPerPage.count }
}

编译失败,并显示以下消息:

实例成员’categoriesPerPage’不能用于’ReportView’类型

这是什么意思?


阅读 219

收藏
2020-07-07

共1个答案

一尘不染

您说的时候只是语法错误= {return self.someValue}。该=是没有必要的。

用 :

var numPages: Int {
    get{
        return categoriesPerPage.count
    }

}

如果你只想 得到 就可以写

var numPages: Int {
     return categoriesPerPage.count
}

通过第一种方法,您还可以将观察者添加为set willSetdidSet

var numPages: Int {
    get{
        return categoriesPerPage.count
    }
    set(v){
       self.categoriesPerPage = v
    }
}

允许= operator用作二传手

myObject.numPages = 5
2020-07-07