2014-04-03 3 views
1
에서의 viewDidLoad를 호출하는 방법을

이 질문에 대한 몇 가지 다른 답변이 있습니다,하지만 그들은 내게 너무 많은 도움이되지 않습니다 applicationDidBecomeActive 방법. 도와주세요.은 applicationDidBecomeActive

미리 감사드립니다.

+4

당신은 viewDidLoad를 직접 호출하지 않으며, OS는 그것을 호출합니다. UIViewController 객체를 만들거나로드하면 결과적으로 viewDidLoad가 OS에 호출됩니다. 이 질문을하는 대신, viewDidLoad를 호출하는 것이 가정이라고 가정하는 것보다 당신이 원하는 것을 말해주십시오. (제가 말했듯이 그것을 호출하지 않기 때문에 솔루션이 아닙니다.) – Gruntcakes

+0

정상적인 ViewController에는 앱이 활성화되면 자동으로 호출되어야하는 메소드가 있습니다. 나는 (공허)와 공용 메서드로 메서드를 호출하려고했지만이 방법은 어떻게해야합니까 공용 메서드에서 실행할 수 없기 때문에 이것은 불가능합니다 그래서 메서드를 호출 할 수 없습니다. applicationDidBecomeActive하지만 viewDidLoad는 [self method]를 통해 수행합니다. 이것은 제 감각이었습니다. 유감스럽게도 저는 프로그래밍에 익숙하지 않았지만 어쩌면 저를 도울 수 있습니다. 지금까지 감사드립니다! – Criska

답변

0

에 코드를 작성해야 실행해야 코드의 일부 조각이있는 경우 활성 상태가됩니까?

클래스가 그것을 할라고 점점 init 메소드가있는 경우의 viewDidLoad에서 그것을 할 경우, 당신은, 당신의 뷰 컨트롤러에 관찰자를 추가 할 수 있습니다

:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(appBecameActive) 
              name: UIApplicationDidBecomeActiveNotification 
              object:nil]; 

을 당신은 때를 제거해야 객체가 제거되므로이 추가된다

- (void) dealloc 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
} 

그런 다음 응용 프로그램이 활성화 될 때마다 호출됩니다 appBecameActive 방법

- (void) appBecameActive 
{ 
    call your method here 
} 

P. 귀하의 의견 + 클래스 메서드입니다. 어떤 뷰 컨트롤러와 아마 당신이 원하는되지 않습니다. iOS 교육을 계속하기 위해 클래스 메소드 대 객체 메소드에 대해 읽어보십시오.

+0

대단히 감사합니다! 이것은 내가 찾고 있었던 해결책이다! :) 또한 교육 tipps 주셔서 감사. – Criska

2

viewDidLoad은 항상 시스템에서 호출되므로 이상적으로 수동으로 호출하면 안됩니다. 즉, 호출하는 한 가지 방법은 UIViewController의 .view 속성에 액세스하는 것입니다. 이것은 아직 호출되지 않은 경우 viewDidLoad으로 호출합니다.

때마다 뷰가 나타납니다, 당신은 당신이 때 응용 프로그램 뷰 컨트롤러에서 함수를 호출 할 것 같다 당신의 코멘트에서 viewWillAppear 또는 viewDidAppear

+0

괜찮습니다. viewDidLoad를 호출 할 수 없다면 어떻게 AppDelegate 클래스의 ViewController 클래스에있는 개인 메서드를 호출 할 수 있는지 알 수 있습니까? 메서드를 public 메서드로 만드는 경우 (void) 메서드의 함수 실행되지 않습니다 .. 지금까지 감사드립니다! – Criska