के लिए भेजा मैं एक समारोह है:स्विफ्ट चयनकर्ता - अपरिचित चयनकर्ता उदाहरण
func runRockRotation(rockSprite: SKSpriteNode){
startRockRotationAnimation(rockSprite, isRock: true)
}
जब मैं इसे इस तरह कहते हैं:
runRockRotation(rock)
यह काम करता है, लेकिन मैं करने में सक्षम हो नहीं कर पा रहे इसे एनएसटीमर चयनकर्ता के अंदर रखें।
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)
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "runRockRotation", userInfo: rock, repeats: false)
इसके अलावा, नहीं के बराबर का उपयोग कर चट्टान के बिना की कोशिश की,, लेकिन कुछ भी काम करने के लिए लगता है।
हर बार जब मैं:
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'
मैं कैसे एक पैरामीटर के साथ एक चयनकर्ता में मेरी समारोह कहते हैं? मुझे पता है कि उद्देश्य सी में ऐसा कैसे करें, लेकिन स्विफ्ट में ऐसा नहीं लगता है। सभी मदद की सराहना की जाएगी।
आप टाइमर कहां कॉल कर रहे हैं? क्या आपके द्वारा चलाए गए वर्ग में टाइमर बनाया जा रहा है RockRotation परिभाषित किया गया है? आप लक्ष्य के रूप में "स्वयं" पास करते हैं, हो सकता है कि आपको वह चाहिए जो आपको चाहिए? – Chackle
उपयोग: 'चयनकर्ता:" runRockRotation: "' – duan