我正在一个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。
您无法初始化引用同一类的另一个实例属性的实例类属性,因为不能保证将以哪种顺序对其进行初始化-并且swift禁止这样做,因此(误导)编译器错误。
您必须按照以下步骤在构造函数中移动初始化:
let components: NSDateComponents init() { self.components = myCalendar.components(.CalendarUnitYear | .CalendarUnitMonth, fromDate: now) }