如何在选择器成功之前调用 NSTimer [重复]
Posted
技术标签:
【中文标题】如何在选择器成功之前调用 NSTimer [重复]【英文标题】:How to call an NSTimer until selector is successful [duplicate] 【发布时间】:2016-11-20 07:13:24 【问题描述】:我有一个名为“检查”的函数,它检查对象是否已更新,如果是这种情况,则将用户发送到另一个视图控制器。但是,NSTimer 不断重复自己,我希望它在用户被发送到另一个视图控制器后停止。
func check()
let current = PFUser.currentUser()?.objectForKey("username")
let check = PFQuery(className: "Requests")
check.whereKey("username", equalTo: current!)
check.whereKey("requestResponded", equalTo: "True")
check.findObjectsInBackgroundWithBlock( (objects, error) -> Void in
if error != nil || objects == nil
print("Request rejected.")
else
for object in objects!
let service = object["service"] as! NSValue
print(service)
if service == 1
self.performSegueWithIdentifier("detailedRequest", sender: self)
print("detailedRequest")
else
self.performSegueWithIdentifier("normalRequest", sender: self)
print("normal")
print("Successfully retrieved that object.")
)
self.timer = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: #selector(self.check), userInfo: nil, repeats: true)
【问题讨论】:
没有解析功能来通知对象何时更新? 【参考方案1】:声明一个viewDidDisappear
函数并在其中invalidate你的计时器。每次您的viewController
消失时,都会自动调用此函数。
类似这样的:
override func viewDidDisappear(_ animated: Bool)
super.viewDidDisappear(true)
self.timer.invalidate()
【讨论】:
以上是关于如何在选择器成功之前调用 NSTimer [重复]的主要内容,如果未能解决你的问题,请参考以下文章
无法识别的选择器发送到 NSTimer scheduleTimerWithTimeInterval 中的实例