Chcę zaplanować wywołanie funkcji w przyszłości. Używam Swift.Swift - scheduleTimerWithTimeInterval - NSInvocation
Chcę callback metody, które są prywatne i zwraca obietnicę (od PromiseKit)
Wszystko przykładzie Widziałem Użyj
NSTimer.scheduledTimerWithTimeInterval(ti: NSTimeInterval, target: AnyObject, selector: Selector, userInfo: AnyObject?, repeats: Bool)
Fine. Podjęto próbę:
NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "connect", userInfo: nil, repeats: false)
To nie powiedzie się z No method declared with Objective-C selector 'connect'
.
Co robi Objective-C?
W każdym razie sugeruje się dodanie przed moją metodą @objc
connect
. W porządku. No nie mogę, bo widocznie Method cannot be marked @objc because its result type cannot be represented in Objective-C
Gdybym chciał użyć objective-c Nie chciałbym pisać Swift ...
Jest inny scheduledTimerWithTimeInterval
czyli
NSTimer.scheduledTimerWithTimeInterval(ti: NSTimeInterval, invocation: NSInvocation, repeats: Bool)
ale z tego co ja Wcześniej czytać NSInvocation
Swift nie jest rzeczą ...
Więc skończyło się tworząc opakowanie, które robi nic innego niż wywołanie connect
i powrocie Void
że Objective C może understan re. Działa, ale wydaje się bardzo głupie. Czy jest lepszy sposób Swift?
Premia: dlaczego javascript może to zrobić po prostu jako setTimeout(this.connect, 1)
, a Swift nie ma wbudowanego w to, co mogę znaleźć?
Doskonale, dziękuję! – Guig