문제

내 UIViewController 서브 클래스에서 init 또는 viewDidload에서 UIPICKERVIEW의 NSARRAY를 초기화 해야하는 이유는 무엇입니까? 감사.

도움이 되었습니까?

해결책

나는 그것을 부를 것이다 viewDidLoad 보기가 두 번 이상로드 될 수 있으므로 (또한 언로드되므로 배열을 다시로드 할 수도 있습니다).

또한 대부분의 경우 iPhone에 데이터를 게으르게로드하는 것이 좋습니다. 데이터로드 viewDidLoad 보다 훨씬 게으릅니다 init,이 경우 시작하면 더 나은 성능을 발휘할 수 있지만 즉시 View Controller를 사용하지 마십시오.

다른 팁

배열이 저장하려는 의도와 초기화 방법에 따라 다릅니다. viewDidLoad 여러 번 호출 할 수 있습니다 (특히 메모리 경고가 낮은 후 프로그램으로 전송 된 후에는 비활성보기 컨트롤러가 뷰를 언로드 한 다음 활성화되거나 다시 표시되면 다시로드). init 일반적으로 물체의 수명에 대해서만 한 번만 호출됩니다.

init 에서이 작업을 수행하는 한 가지 사례는 ViewWillAppear 이후 ViewDidload를 호출 할 수 있다는 것입니다. 그 당시에있는 배열에 의존하는 경우 초기화를 init에 넣어야 할 수도 있습니다.

일반적으로, ViewDidload는 두 번 이상 호출 될 수있는 한 꽤 좋은 곳입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top