Ho una funzione:Selettore Swift - selettore non riconosciuto inviato a un'istanza
func runRockRotation(rockSprite: SKSpriteNode){
startRockRotationAnimation(rockSprite, isRock: true)
}
Quando mi chiamano in questo modo:
runRockRotation(rock)
funziona, ma non riesco a essere in grado di inseriscilo in un selettore NSTimer.
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "runRockRotation:", userInfo: rock, repeats: false)
letto un sacco di forum, provato questo:
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "runRockRotation()", userInfo: rock, repeats: false)
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "runRockRotation(_)", userInfo: rock, repeats: false)
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "runRockRotation", userInfo: rock, repeats: false)
Inoltre, giudicato senza roccia, utilizzando pari a zero, ma nulla sembra funzionare.
Ogni volta che ottengo:
2015-04-10 15:49:03.830 Meh[1640:218030] -[__NSCFTimer runAction:completion:]: unrecognized selector sent to instance 0x174166840
2015-04-10 15:49:03.832 Meh[1640:218030] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFTimer runAction:completion:]: unrecognized selector sent to instance 0x174166840'
Come chiamo la mia funzione in un selettore con un parametro? So come farlo in Objective C, ma non riesco a farlo in Swift. Tutto l'aiuto sarà apprezzato.
Dove stai chiamando il timer? Il timer è stato creato nella classe in cui è stato eseguito runRockRotation? Passi "te stesso" come bersaglio, forse questo non è quello che ti serve? – Chackle
usa: 'selettore:" runRockRotation: "' – duan