2014-07-14 7 views
22

मैं एक त्रुटि हो रही है साथ तेज में एक भविष्य की तारीख बनाना: "कॉल में पैरामीटर 'सांकेतिक शब्दों में बदलनेवाला' के लिए तर्क मिसिंग यू" निम्न कोड के लिए:NSDate()

var components = NSDateComponents()  
components.setValue(1,forComponent: NSCalendarUnit.CalendarUnitMonth); 
var expirationDate = NSCalendar.currentCalendar().dateByAddingComponents(components,  toDate: NSDate(),options:0) 

डॉक्स कॉल के लिए:

NSCalendar.currentCalendar().dateByAddingComponents(<#comps: NSDateComponents?#>, toDate: <#NSDate?#>, options: <#NSCalendarOptions#>) 

क्या कोई देख सकता है कि मैं क्या खो रहा हूं? मुझे 'कोडर' नामक पैरामीटर नहीं दिख रहा है।

उत्तर

48

कि में वाक्य रचना सही होने के लिए स्विफ्ट 1.2 दिखता है:

var components = NSDateComponents() 
components.setValue(1, forComponent: NSCalendarUnit.CalendarUnitMonth); 
let date: NSDate = NSDate() 
var expirationDate = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(0)) 

में स्विफ्ट 2.0 आप इस तरह एक सा इस कोड को अद्यतन करने की आवश्यकता:

let components: NSDateComponents = NSDateComponents() 
components.setValue(1, forComponent: NSCalendarUnit.Month); 
let date: NSDate = NSDate() 
let expirationDate = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(rawValue: 0)) 
+0

समझ में नहीं आता क्या त्रुटि, मतलब विशेष रूप से "सांकेतिक शब्दों में बदलनेवाला" भाग है, लेकिन अपने ठीक काम किया। ग्रेसियस। – krisacorn

+0

मैं कुछ चालाक चीज़ कहने के लिए एक स्मार्ट-गधे बनना नहीं चाहूंगा - _Xcode6_ के बारे में अभी भी बीटा है - लेकिन मुझे लगता है कि समस्या 'एनएसडीएटी' को एम्बेडेड पैरामीटर के रूप में शामिल किया गया था, और संकलक 'एनएसडीएटी' कोडर:) किसी कारण से 'NSDate()' के बजाय इसके लिए विधि। यह आपके कारण गायब 'कोडर:' पैरामीटर के बारे में त्रुटि संदेश का कारण हो सकता है। – holex

+1

स्विफ्ट 2.0 के लिए अपडेट करें - विकल्प मान को बदलें: 'एनएससीएंडर ऑप्शन (कच्चे वैल्यू: 0)' – leanne

12

सिंटेक्स स्विफ्ट 3

के लिए
5

नवीनतम स्विफ्ट 3 वाक्य रचना:

var components = DateComponents() 
components.setValue(1, for: .month) 
let date: Date = Date() 
let expirationDate = Calendar.current.date(byAdding: components, to: date) 
संबंधित मुद्दे