2016-11-20 30 views
0

我有一个名为“检查”的函数,检查对象是否已更新,如果是这种情况,用户将被发送到另一个视图控制器。但是,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) 
+0

一直没有解析一个功能,当一个对象被更新通知? – vadian

回答

0

声明一个viewDidDisappear功能和里面无效你的计时器。每当您的viewController消失时自动调用此功能。

事情是这样的:

override func viewDidDisappear(_ animated: Bool) { 
    super.viewDidDisappear(true) 
    self.timer.invalidate() 
}