【发布时间】:2016-08-26 19:09:15
【问题描述】:
我正在努力处理以下代码:
backgroundTimer = NSTimer.scheduledTimerWithTimeInterval(3, target: gvc, selector: #selector(GameViewController.addNext), userInfo: nil, repeats: true)
我似乎无法让#selector 工作。此代码导致:
Type 'GameViewController' has no member 'addNext'
即使会员就在那儿...这是完整的代码:
class GameViewController: GAITrackedViewController, AVAudioPlayerDelegate {
var sceneCanvas: SKSpriteNode?
override func viewDidLoad() {
skView.presentScene(WelcomeScene(size: view.bounds.size, gvc: self))
}
func createBackground(boundsSize: CGRect, gvc: GameViewController) -> SKSpriteNode {
addUILabels(gvc)
return sceneCanvas!
}
func addUILabels(gvc: GameViewController) {
backgroundTimer = NSTimer.scheduledTimerWithTimeInterval(3, target: gvc, selector: #selector(GameViewController.addNext), userInfo: nil, repeats: true)
}
public func addNext() {
let backgroundLabel = SKSpriteNode(imageNamed: "label1.png")
sceneCanvas!.addChild(backgroundLabel!)
backgroundLabel?.runAction(SKAction.moveByX(-screenSize.width , y: 0, duration: 12))
}
}
class WelcomeScene: SKScene {
init(size: CGSize, gvc: GameViewController){
super.init ()
let bounds = CGRect(origin: CGPoint(x: 0,y: 0), size: size)
sceneCanvas = createBackground(bounds, gvc: gvc)
self.addChild(sceneCanvas!)
}
}
【问题讨论】:
-
试试#selector(addNext)。
-
试试:#selector(GameViewController.addNext(_:))
-
@Muhammad Yawar Ali #selector(GameViewController.addNext(_:)) 结果到`'GameViewController'没有成员'addNext`
-
@gagarwal #selector(addNext) 结果到
Ambiguous use of 'addNext()' -
您使用的是哪个版本的 Xcode?span>
标签: ios swift sprite-kit selector nstimer