当用户在swift中按下注销按钮时,如何停止更新位置

时间:2016-11-08 07:25:35

标签: ios swift logout

我正在使用mapview在Swift中开发一个应用程序,并使用nsstimer每隔3分钟获取当前位置。我能够获取位置,一切正常。

我的mapview控制器中的示例代码:在视图中的didload方法

let timer = NSTimer.scheduledTimerWithTimeInterval(180.0, target: self, selector: #selector(timeToMoveOn), userInfo: nil, repeats: true)

func timeToMoveOn()
{
 print(latitude)

 print(longitude)

}

每3分钟获取当前位置会有所帮助

用另一个视图控制器编写的注销操作的示例代码:

  var viewcontroller = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
  var appDelegate:AppDelegate = (UIApplication.sharedApplication().delegate as?
        AppDelegate)!
    appDelegate.window?.rootViewController = viewcontroller
    appDelegate.window!.makeKeyAndVisible()

它也可以正常工作并且能够返回到登录页面,但问题是当我点击退出操作时func timeToMoveOn继续更新当前位置我不想更新位置用户点击了退出操作。如何阻止NSTimer?

我搜索了其他Stack Overflow答案,但这并不支持我,因为我的nstimer和logout操作在不同的控制器中执行。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

Logout_Button Clicked_Event点击时间调用其他mapview控制器的NSTimer方法:

var MapVC:mapviewcontrolle = mapviewcontrolle() // diffrent view controller object
MapVC.timer.invalidate()