NSTimer'den statik bir yöntemi çağırmasına izin var mı? derleyici çağrısında şifreli "Ekstra argüman 'selektör' ile şikayetçi, buna izin vermez.NSTimer'den statik bir yöntem çağırma. Mümkün mü?
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()
Ama tabii, bu gayet iyi çalışıyor ...
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()
Sadece sözdizimi var mı yanlış ya da
ve öyle:
Ayrıca,
static
işlev Objective-C Sınıf yöntemi eşdeğer olduğunu orijinal hedefi oldu eğer öyleyse aşağıdaki yeterli olacaktır olduğunu çalışmıyor Aslında, bu tam kodda yapıştırırsam, işe yaramıyor. 'Tanınmayan seçici '...' Sınıfı 'kullananlar için çalıştı mı? – SimplGy@SimplGy: İşlevinizi '@ objc' özniteliği ile öneklemeye çalışın. –
Not: Sınıfınızı func seçicinizi bulmak için 'NSObject''den miras almalısınız. Eğer yapmazsanız, bir çalışma zamanı kazası 'Unrecognized selector 'alırsınız. – SimplGy