gpt4 book ai didi

ios - NSTimer 不允许我使用自己作为目标?

转载 作者:行者123 更新时间:2023-11-28 11:10:26 26 4
gpt4 key购买 nike

每当我尝试使用 self 的目标使用 NSTimer 时,都会弹出一个错误提示

argument type 'NSObject-> () -> GameScene' does not conform to expected type 'AnyObject'.

为了安全起见,我还尝试添加 AnyObject 而不是 self:

class GameScene: SKScene {

var point = SKSpriteNode(imageNamed: "Point")
override func didMoveToView(view: SKView) {

}

var timer = NSTimer.scheduledTimerWithTimeInterval(0.0001, target: self, selector: ("stroke"), userInfo: nil, repeats: true)

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
let location = touch.locationInNode(self)
func stroke(){
point.position = CGPoint(x: location.x, y: location.y)
self.addChild(point)
}
}
}
}

最佳答案

我认为问题在于您在变量声明期间调用了函数,并且很可能尚未创建 self 或 object 并且这就是您收到错误的原因。

将函数调用移到构造函数或初始化期间调用的函数中,这样应该没问题。

var timer : NSTimer!
...
...
func someFunc()
{
timer = NSTimer.scheduledTimerWithTimeInterval(0.0001, target: self, selector: ("stroke"), userInfo: nil, repeats: true)
}

关于ios - NSTimer 不允许我使用自己作为目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35446085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com