2016-11-28 10 views
1

enter image description here他のクラスからCLLocationManagerの属性を設定する方法

私は現時点でスポーツプロジェクトに取り組んでいます。 私がしたいことは、ユーザーがAutoPauseスイッチをオンにすると、CLLocationManagerは、速度が一定のレベルを下回ったときに更新場所を一時停止することです。 基本的には、私はlocationManagerの属性を変更して実装する方法を理解していますが、CLLocationManagerインスタンスが別のViewControllerにあるのに対し、CLLocationManagerの属性をsettingViewControllerからどうやって設定できますか?前もって感謝します。

+0

に非常によく説明されていますか? – Larme

+0

@Larme私はシングルトンに入れましたが、別のView Controllerからその属性を変更する方法を理解できません – Nan

+0

' - (void)updateLocaltionManagerTargetAttributeSetting:(id)setting'メソッドを追加し、' [[ YourSingletonClass sharedManager] updateLocaltionManagerTargetAttributeSetting:何か] '? – Larme

答えて

0

idk what 'あなたの問題CLLocationManagerで、別のView Controllerにオブジェクトを渡す方法を意味しますか?これを行うにはいくつかの方法があります。 See this question:Passing Data between View Controllers 私はpassing the object手段がオブジェクトを参照を渡すので、あなたがsettingViewControllerライフサイクルでオブジェクトを変更することができ、あなたはそのCLLocationManagerのプロパティを設定することにより、settingViewControllerCLLocationManagerオブジェクトを渡すことができることをかなり確信して、それがCLLocationManagerオブジェクトに影響を与えますViewControllerによって作成されます。

+0

私の問題は、CLLocationManagerのインスタンスがView Controller Aでインジェクトされているので、View Controller BからCLLocationManagerの自動停止属性を無効/有効にするにはどうすればよいですか。 – Nan

+1

遷移のためにストーリーボードを使用する場合、プロパティを設定することによって、 segueによってオブジェクトを渡します。リンクplzの記事をご覧ください。 –

+0

乾杯、アプローチはオブジェクトと通知を渡すことが含まれていると思いますが、どちらが良いと思いますか? – Nan

1

NSNotificationCenterを使用して、別のView ControllerでCLLocationManagerの自動休止属性を有効または無効にする通知を送信できます。

他のアプローチは、使用できます

  1. 使用クラスメソッドは、シングルトンで `CLLocationManager`を入れて、このSO Answer

  2. 利用代表者

+0

これは良いアプローチですが、他のアプローチを考えていますか? – Nan

関連する問題