2011-12-05 2 views
-1

나는의 UITabBar 2 UIViewControllers을 내 UIViewControllers 중 하나에 대한 외관을 만들고 싶습니다,이 일을하려고 할 때 문제로 실행하고 있습니다 : 나는Objective-C는 다른 UIViewController에서 메서드를 호출합니다.

//within the first view controller: 

[delegate startApp] 
을 시도하고있다

//within the 2nd view controller, that has not been displayed yet: 
-(void)startApp 
{ 
    locationManager.delegate = self; 
    [locationManager startUpdatingLocation]; 

} 

위의 예에서 "자체"는 무엇을 말합니까? 중단 점을 설정하면 두 번째보기 컨트롤러에서 콜백이 호출되지만 두 번째보기 컨트롤러에서 직접 호출 할 때와 같은 효과가 나타나지 않습니다.

두 번째보기 컨트롤러 내의 ViewDidLoad는 해당 컨트롤러를 두 드릴 때까지 호출되지 않지만 그래도 그렇게해도 startApp 메서드를 호출해도 결과는 예기치 않습니다.

내 설정으로 MVC 모델을 깨뜨린 것이므로 코드 조각을 꺼내어 두 컨트롤러에서 모두 사용할 기본 모델을 만들어야하지만 빠르고 더러운 솔루션을 기대하고 있습니다.

해명 해 주셔서 감사합니다.

답변

2

startApp는 "두 번째 View Controller"의 인스턴스 메소드이므로 'self'는이 메시지를받은 "두 번째 View Controller"의 특정 인스턴스를 나타냅니다.

+0

감사합니다. 내가 만난 문제는 UIViewController가 초기화되지만 사용자가 해당 탭을 선택하지 않았기 때문에 -viewDidLoad가 호출 된 적이 없기 때문에 모든 종류의 문제가 발생했습니다. –