2015-06-11 13 views
22

हाय मैं तेजी से 2.0 में यह त्रुटि प्राप्तस्विफ्ट 2.0 कैलेंडर घटकों त्रुटि

प्रकार का एक तर्क सूची के साथ 'घटकों के आह्वान नहीं किया जा सकता' (NSCalendarUnit, fromDate: NSDate ?, todate: NSDate ?, विकल्प: शून्य) '

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) 

उत्तर

49

स्विफ्ट 2, NS_OPTIONS (NSCalendarOptions जैसे) के रूप में एक OptionSetType जो एक सेट की तरह इंटरफ़ेस प्रदान करता है के रूप में स्विफ्ट के लिए मैप की जाती हैं। विशेष रूप से, "कोई विकल्प" अब [] बजाय nil रूप में निर्दिष्ट किया जा सकता है:

let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, 
           options: []) 

भी देखें Swift 2.0 - Binary Operator "|" cannot be applied to two UIUserNotificationType operands और अधिक जानकारी के लिए How to create NS_OPTIONS-style bitmask enumerations in Swift? को हाल ही में जोड़ा जवाब।

+0

आपको बहुत बहुत धन्यवाद !! – Boss

1

आप अपने विकल्प तर्क के रूप में शून्य नहीं पारित कर सकते हैं। इसके बजाए एक खाली विकल्प सेट का उपयोग करें:

let components = cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: []) 

आपको कैल्कडेस्प और कैलहाय को खोलना भी सुनिश्चित करना होगा।

1

आप भी rawValue निम्नलिखित की तरह उपयोग कर सकते हैं:

cal.components(unit, fromDate: calcDesp!, toDate: calHoy!, options: NSCalendarOptions(rawValue: 0))

संबंधित मुद्दे