私はSwiftでmapviewを使ってアプリケーションを開発しており、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を停止するには?
私は、nstimerとlogoutアクションが異なるコントローラで実行されているため、他のStack Overflowの回答を検索しましたが、それは私をサポートしていません。誰かがこの問題を解決するために私を助けることができますか?
タイマー私はこのコードを含める必要が...とログアウト時間ができ呼び出す方法.invalidate()呼び出しログアウト時間 –
?あなたは簡単に説明します...あなたのクイックレスポンスのおかげで@jayesh miruliya – antonyraja