루트에 TableViewController가있는 Mvvmcross 앱이 있습니다. 각 행은 DetailViewController를 엽니 다. 그리고 각각의 내부에서 EditViewController로 편집 할 수 있습니다.MvvmCross의 라이프 사이클
그래서 각보기에 ViewModel이 있습니다. 여기서 두 가지 문제를 다루고 있습니다 :
1) DetailViewController에서 나는 그것을 데이터베이스 메시지에 등록합니다. 내가 닫을 때, 나는이 subscribeToken을 처분해야한다. 그래서 DetailViewController가 파손되었을 때 이것을 호출해야합니다. 그러나 그것이 사라지면 위와 같이 호출하지 마십시오. 왜냐하면 editViewController를 열면 DetailViewController가 청취해야한다는 메시지를 보내기 때문입니다.
그래서 ViewDidDisappear 메서드에서 처리 할 수 없습니다. 그러나 다른 옵션은 ViewDidUnload에 있습니다. 그러나이 메서드는 MemoryWarnings에서만 호출됩니다. 그래서 토큰을 처분하지 않습니다. 그건 좋지 않다 .
2) 다른 문제는 내가 열어 본 각 DetailsViewcontroller에 대해 설정에 현재 ID가 무엇인지 저장해야한다는 것입니다. 그런 다음 내가 떠날 때 설정에서 제거해야합니다. 그래서 여기에 같은 문제가 있습니다. ViewDidDisappear에서 제거하면 EditViewController에있을 때 제거되며, 설정하지 않아도됩니다. 그러나 ViewDidUnload에서만 제거하면 호출되지 않으며이 변수는 제거해야합니다.
언제 두 경우 모두 OnDestroy 메서드를 호출해야합니까?
Android에서 나는 OnDestroy를 호출합니다. iOS에서 어디에서 호출해야합니까? 안부
감사합니다,