그래서 클래스 (TrackViewController)의 변수를 한 번만 초기화하려고했습니다. 데이터베이스에서 삽입 된 ID를 viewcontroller에 알려주기 위해 수행됩니다. 요컨대클래스 변수를 한 번만 초기화하십시오 - objective-C
:
I는 NSNotificationCenter 통해 위치 업데이트를 수신하는 TrackManager있다. TrackViewController는 버튼을 클릭 할 때 startTracking 메서드를 사용합니다. 이 기능은 내 TrackManager에서 설정되고 데이터베이스에 새로 삽입 된 행의 ID를 반환합니다.
이 ID는 TrackViewController에서 유지해야 응용 프로그램의 기본 화면으로 돌아가서 TrackViewController로 돌아갈 때이 ID를 여전히 알 수 있습니다. stopTrack : (long) trackID 메소드를 호출하여 해당 트랙의 위치 추적을 중지하고 데이터베이스 열 "TrackFinished"를 완료하도록 설정해야합니다.
정적 변수를 사용하여이 문제를 해결할 수 있다고 생각했지만 차라리 그렇지 않았습니다.
변수를 한 번만 TrackViewController에서 초기화하는 방법이 있습니까? awakeFromNib, ViewDidLoad 등을 시도했지만 TrackViewController 화면이 나타날 때마다 이러한 메서드가 호출됩니다. 사전
당신이 initWithCoder 및 initWithFrame를 시도 :
또 다른 방법은 변수가 이미 할당되어 있는지 여부를 확인하는 것입니다? – jrtc27
initWithCoder를 확인하십시오. 이것으로 해결할 수 있습니다. 너에게 다시 돌아갈 게. – Tikkes
NIB/XIB에서 초기화 될 때 initWithCoder가 호출되고 NIB/XIB없이 초기화 될 때 initWithFrame이 호출되므로 동일한 작업을 복사하여 다른 것으로 붙여 넣어야합니다. – jrtc27