क्या इसे एनएसटीमर से स्थिर विधि कॉल करने की अनुमति है? संकलक इस अनुमति नहीं दी जाएगी, कॉल में गुप्त "अतिरिक्त तर्क 'चयनकर्ता' के साथ शिकायत कर।एनएसटीमर से एक स्थिर विधि को कॉल करना। क्या यह संभव है?
struct MyStruct {
static func startTimer() {
NSTimer.scheduledTimerWithTimeInterval(1.0, target: MyStruct.self, selector: "doStuff", userInfo: nil, repeats: true)
}
static func doStuff() {
println("Doin' it.")
}
}
MyStruct.startTimer()
लेकिन निश्चित रूप से, यह ठीक काम करता है ...
class MyClass {
func startTimer() {
NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "doStuff", userInfo: nil, repeats: true)
}
func doStuff() {
println("Doin' it.")
}
}
var instanceOfClass = MyClass()
instanceOfClass.startTimer()
मैं सिर्फ वाक्य रचना है गलत है, या यह अनुमति दी है नहीं?
मैं लगभग समान कोड है, और यह करता है काम नहीं। वास्तव में, अगर मैं इस सटीक कोड में पेस्ट करता हूं, तो यह काम नहीं करता है। 'अपरिचित चयनकर्ता' ... किसी के लिए 'कक्षा' का उपयोग कर रहा है? – SimplGy
@SimplGy: विशेषता '@ objc' के साथ अपने फ़ंक्शन को उपसर्ग करने का प्रयास करें। –
नोट: आपके क्लास func चयनकर्ता को खोजने में सक्षम होने के लिए आपको 'NSObject' से उत्तराधिकारी होना चाहिए। यदि आप नहीं करते हैं, तो आपको रनटाइम क्रैश 'अपरिचित चयनकर्ता' मिलेगा। – SimplGy