Tôi có một chức năng:chọn Swift - selector không được công nhận gửi đến dụ
func runRockRotation(rockSprite: SKSpriteNode){
startRockRotationAnimation(rockSprite, isRock: true)
}
Khi tôi gọi nó là như thế này:
runRockRotation(rock)
nó hoạt động, nhưng tôi dường như không thể để có thể đặt nó vào trong bộ chọn NSTimer.
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "runRockRotation:", userInfo: rock, repeats: false)
đã đọc rất nhiều diễn đàn, cố gắng này:
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)
Ngoài ra, cố gắng mà không đá, sử dụng con số không, nhưng không có vẻ làm việc.
Mỗi lần tôi nhận được:
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'
Làm thế nào để gọi chức năng của tôi trong một selector với một tham số? Tôi biết làm thế nào để làm điều đó trong mục tiêu C, nhưng dường như không thể làm điều đó trong Swift. mọi sự giúp đỡ đều được cảm kích.
Bạn đang gọi bộ hẹn giờ ở đâu? Bộ hẹn giờ có được tạo trong lớp bạn đã định nghĩa runRockRotation không? Bạn vượt qua "tự" là mục tiêu, có lẽ đây không phải là những gì bạn cần? – Chackle
sử dụng: 'selector:" runRockRotation: "' – duan