我正在尝试创建一个NSTimer,以便我可以向下移动UIImageView但是NSTImer有困难,先说这个 .
var timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target:self(), selector: Selector ("mrockdown"), userInfo: nil, repeats: true)
在调用中缺少参数#1的参数 . 但当我从 target:self()
删除括号时,它告诉我
无法使用类型为'(Double,target:ViewController - >() - > ViewController,selector:Selector,userinfo:nil的参数列表调用'scheduledTimerWIthTimerInterval',重复Bool .
我该怎么办?
2 回答
问题与你说的地方有关 . 看起来你试图将此作为 property 声明的一部分:
但是你不能这样做,因为就存储的属性而言,没有
self
. 您需要将计时器声明为Optional,然后再将其初始化:然后你将删除括号(它们是错的),一切都会编译得很好 .
您可以在要触发计时器的函数内执行此操作(即
viewDidLoad
或某些IBAction
)话虽这么说,要为视图设置动画,你应该使用它: