我正在尝试扩展,NSDate
但出现两个错误:
extension NSDate { //'mutating' isn't valid on methods in classes or class-bound protocols
mutating func addMonth() {
let calendar = NSCalendar.currentCalendar()
let component = NSDateComponents()
component.month = 1
self = calendar.dateByAddingComponents(component, toDate: self, options: []) //Cannot assign to value: 'self' is immutable
}
}
我的猜测是这NSDate
是一个类而不是 Swift 类型,因为错误状态mutating
在类中的方法上是不可能的。如果我返回值并分配它一切正常,但我想知道这不起作用的确切原因以及是否有更好的解决方法。