一尘不染

类型没有成员

swift

我正在一个Swift操场上玩,正在上一堂新课。由于某种原因,我不断收到这样的错误:类“没有成员类型”,其名称的常量前面定义了三行。这是代码:

import Foundation
class DataModel {
    let myCalendar = NSCalendar.autoupdatingCurrentCalendar()

    var myData = [NSDate : Float]()
    let now  = NSDate()
    let components = myCalendar.components(.CalendarUnitYear | .CalendarUnitMonth, fromDate: now)
}

Xcode Beta6一直在倒数第二行给我一个错误,说“ DataModel.Type没有名为’myCalendar’的成员

尽管我认为这不会有所作为,但我尝试将myCalendar定义为var。


阅读 598

收藏
2020-07-07

共1个答案

一尘不染

您无法初始化引用同一类的另一个实例属性的实例类属性,因为不能保证将以哪种顺序对其进行初始化-并且swift禁止这样做,因此(误导)编译器错误。

您必须按照以下步骤在构造函数中移动初始化:

let components: NSDateComponents

init() {
    self.components = myCalendar.components(.CalendarUnitYear | .CalendarUnitMonth, fromDate: now)
}
2020-07-07