मैं एक ऐप विकसित करने की कोशिश कर रहा हूं जिसमें एक साधारण स्टॉपवॉच सुविधा शामिल है। मैं एक्सकोड 6 और स्विफ्ट भाषा का उपयोग कर रहा हूं। यहाँ FirstViewControllerअज्ञात चयनकर्ता उदाहरण के लिए भेजा गया NSTimer स्विफ्ट
@IBAction func Stopwatch (Sender:UIButton) {
var startTime = NSTimeInterval()
func updateTime(timer:NSTimer) {
//Find Current TIme
var currentTime = NSDate.timeIntervalSinceReferenceDate()
//Find the difference between current time and start time
var elapsedTime :NSTimeInterval = currentTime - startTime
//calculate the minutes in elapsed time.
let minutes = UInt(elapsedTime/60.0)
elapsedTime -= (NSTimeInterval(minutes) * 60)
//calculate the seconds in elapsed time.
let seconds = UInt(elapsedTime)
elapsedTime -= NSTimeInterval(seconds)
//find out the fraction of milliseconds to be displayed.
let hours = UInt(elapsedTime * 100)
let strMinutes = minutes > 9 ? String(minutes):String(minutes)
let strSeconds = seconds > 9 ? String(seconds):String(seconds)
let strHours = hours > 9 ? String(hours):String(hours)
//assign text to Label
elapsedTimeLabel.text = "You have slept for \(strHours)"
}
//Timer
var timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: Selector("updateTime:"), userInfo: nil, repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate()
}
}
हर बार जब मैं अनुप्रयोग चलाने (आईओएस सिम्युलेटर के भीतर) में कोड है, ऐप्लिकेशन क्रैश जब मैं बटन दबाएँ (निष्पादित स्टॉपवॉच समारोह)। त्रुटि हमेशा
2014-11-23 11:44:53.617 Sleep[9630:644637] -[Sleep.FirstViewController updateTime:]:
unrecognized selector sent to instance 0x7ff6d9676e80
2014-11-23 11:44:53.622 Sleep[9630:644637] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[Sleep.FirstViewController updateTime:]: unrecognized
selector sent to instance 0x7ff6d9676e80'
*** First throw call stack:
मुझे नहीं पता कि यह क्यों हो रहा है और मैं आईओएस प्रोग्रामिंग के लिए काफी नया हूं, इसलिए कृपया मदद करें!
@objc ध्वज की आवश्यकता नहीं है, कम से कम स्विफ्ट 1.2 के रूप में। हालांकि, मैं एक ही त्रुटि में भाग गया क्योंकि मेरा चयनकर्ता हस्ताक्षर गलत था। एनएसटीमर प्राप्त करने के लिए इसे स्थापित करने की आवश्यकता है। जैसे 'func mySelector (टाइमर: एनएसटीमर) ' –