2017-04-13 13 views
1

두 개의 작업을 시작하는보기 컨트롤러가 있습니다. 하나는 위치 업데이트를 가져오고 다른 하나는 가속도계 및 자이로 센서 데이터 업데이트를 가져 오기위한 것입니다. 이 두 가지 내부 동작을 두 개의 개별 클래스로 구분하고 대리자를 통해 뷰 컨트롤러의 데이터를 검색합니다.보기 컨트롤러를 떠난 후 작업 보존

저는 문제가 있습니다. 예를 들어, 뷰 컨트롤러에서 위치 및 모션 센서 데이터 페치를 시작한 다음 해당 뷰 컨트롤러를 나가야합니다. 이는 차례대로 생성 된 객체를 파괴하고 뷰 컨트롤러로 돌아 가면 다시 설정됩니다.

내가 시작한 작업이보기 컨트롤러를 종료 할 때도 활성 상태로 유지되기를 원합니다. 그리고 내가 돌아올 때까지 계속. 이런 상황을 어떻게 처리합니까?

답변

0

여기에 대해서는 여러 가지 방법이 있습니다. 이러한 기능을 수행하는 클래스를 결코 파괴되지 않는 싱글 톤으로 만들 수 있으며 클래스 중 하나라도 액세스 할 수 있습니다. 좋은 IMO가 아닌 또 다른 옵션은 첫 번째보기 컨트롤러에서 두 번째보기 컨트롤러로 개체를 전달하는 것입니다.

0

싱글 톤이 이에 대한 해결책이 될 수 있습니다. Check this post 관리자를 시작하면보기 컨트롤러 상태에 관계없이 계속 유지됩니다.

0

두 번째보기 컨트롤러에서 돌아 오는 동안 첫 번째보기 컨트롤러 (위치 및 모션 센서 데이터를 시작하는 곳)를 시작하면 안됩니다. 이것은 두 가지 방법으로 수행 될 수 있습니다. :

  • 다시

다른 길을 오는 동안 탐색 컨트롤러 두 번째 뷰 컨트롤러를 밀고 다시

  • 오는 기존 뷰 컨트롤러에서 2 차 뷰 컨트롤러를 제시하고 2 차 뷰 컨트롤러를 기각을 사용하고 (첫 번째 뷰 컨트롤러를 인스턴스화하는 경우)

    모션 센서 데이터 변수를 전역으로 appdelegate로 선언하고 첫 번째보기 컨트롤러에서 값을 서명합니다. 이 작업을 수행하면 어디서나이 값을 사용할 수 있습니다.