我有以下类(class):

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

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



这是什么意思?

最佳答案

= {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作为 setter
myObject.numPages = 5

关于swift - 实例成员不能用于类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32351343/

10-12 12:29