MonthYearPickerView库Swift 2.0问题

时间:2015-10-07 08:24:37

标签: ios swift nsdate swift2 nsdatecomponents

我在我的项目中使用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)
    }

1 个答案:

答案 0 :(得分:0)

使用component功能而非componentsvar year = calendar.component(.Year, fromDate:NSDate())

var year = calendar.components(.Year, fromDate:NSDate()).year