我在我的项目中使用MonthYearPickerView库,它在Swift 1.2中正常运行,现在我正在尝试将其转换为Swift 2.0,我遇到了一些问题。
我将日历组件更改为注释代码下面的代码,但是当我尝试追加或减去年份的值时,我遇到了问题Cannot convert value of type 'NSDateComponents' to expected argument type 'Int'
。那么请问我该如何解决这个问题呢?
class MonthYearPickerView:UIPickerView,UIPickerViewDelegate,UIPickerViewDataSource {
override init(frame: CGRect) {
var years: [Int] = []
if years.count == 0 {
//var year = NSCalendar(identifier: NSCalendarIdentifierGregorian)!.component(.CalendarUnitYear, fromDate: NSDate())
let calendar = NSCalendar.currentCalendar()
var year = calendar.components(.Year, fromDate:NSDate())
for i in 1...10 {
years.append(year)
year++
}
}
self.years = years
super.init(frame: frame)
self.delegate = self
self.dataSource = self
//var month = NSCalendar(identifier: NSCalendarIdentifierGregorian)!.component(.CalendarUnitMonth, fromDate: NSDate())
let calendar = NSCalendar.currentCalendar()
let month = calendar.components(.Month, fromDate:NSDate())
self.selectRow(month-1, inComponent: 0, animated: false)
}
答案 0 :(得分:0)
使用component
功能而非components
:
var year = calendar.component(.Year, fromDate:NSDate())
或
var year = calendar.components(.Year, fromDate:NSDate()).year