如何调用NSTimer直到选择器成功
问题描述:
我有一个名为“检查”的函数,检查对象是否已更新,如果是这种情况,用户将被发送到另一个视图控制器。但是,NSTimer不断重复,我希望它在用户被发送到其他视图控制器后停止。如何调用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)
答
声明一个viewDidDisappear
功能和里面无效你的计时器。每当您的viewController
消失时自动调用此功能。
事情是这样的:
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(true)
self.timer.invalidate()
}
一直没有解析一个功能,当一个对象被更新通知? – vadian