こんにちはSwift 2.0でこのエラーが発生します
タイプ「(NSCalendarUnit、fromDate:NSDate ?, toDate:NSDate ?, options:nil)」の引数リストで「コンポーネント」を呼び出すことはできません
var hoy = dataFormatter.stringFromDate(NSDate())
var despues = dataFormatter.stringFromDate(fecha)
var calHoy = dataFormatter.dateFromString(hoy)
var calcDesp = dataFormatter.dateFromString(despues)
let cal = NSCalendar.currentCalendar()
let unit:NSCalendarUnit = .Day
let components = cal.components(unit, fromDate: calcDesp, toDate: calHoy, options: nil)
Swift 2、現在NS_OPTIONS
(NSCalendarOptions
など)はSwiftとしてOptionSetType
としてマップされ、セットのようなインターフェイスを提供します。特に、「オプションなし」は[]
の代わりにnil
:
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!,
options: [])
参照 Swift 2.0-二項演算子 "|"は2つのUIUserNotificationTypeオペランドには適用できません と最近追加された SwiftでNS_OPTIONSスタイルのビットマスク列挙を作成する方法 詳細情報。
次のようにrawValue
を使用することもできます。
cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: NSCalendarOptions(rawValue: 0))
オプション引数としてnilを渡すことはできません。代わりに空のオプションセットを使用します。
let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: [])
また、calcDespとcalHoyを必ずアンラップする必要があります。