2016-11-08 14 views
0

私は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の回答を検索しましたが、それは私をサポートしていません。誰かがこの問題を解決するために私を助けることができますか?

+0

タイマー私はこのコードを含める必要が...とログアウト時間ができ呼び出す方法.invalidate()呼び出しログアウト時間 –

+0

?あなたは簡単に説明します...あなたのクイックレスポンスのおかげで@jayesh miruliya – antonyraja

答えて

0

Logout_Button Clicked_Eventのクリック時の呼び出し、他のMapViewコントローラのNSTimer方法:

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

ログアウトボタンClickedイベントコール.. –

+0

タイマーは私にエラーが表示されます....異なるコントローラを使用しているので私はタイマーを呼び出すことができません...何をする? – antonyraja

+0

そのコントローラーオブジェクトを作成して....そのタイマーオブジェクトにアクセスする...そのメソッドを呼び出す –

関連する問題