답변:
viewDidLoad는 한 번만 수행해야하는 작업입니다. 뷰가 나타날 때마다 viewWillAppear가 호출됩니다. UIDabel 텍스트 설정과 같이 viewDidLoad에서 한 번만 수행해야하는 작업을 수행해야합니다. 그러나 사용자가 볼 때마다보기의 특정 부분을 수정하고 싶을 수 있습니다. 예를 들어 iPod 응용 프로그램은 "지금 재생 중"보기로 갈 때마다 가사를 맨 위로 스크롤합니다.
그러나 서버에서 항목을로드 할 때 대기 시간도 고려해야합니다. 모든 네트워크 통신을 viewDidLoad 또는 viewWillAppear로 압축하면 사용자가보기를보기 전에 실행되어 앱이 잠시 정지 될 수 있습니다. 먼저 어떤 종류의 활동 표시기가있는 채워지지 않은보기를 사용자에게 표시하는 것이 좋습니다. 네트워킹이 완료되면 1-2 초가 걸리거나 실패 할 수도 있습니다. 데이터를 사용하여 뷰를 채울 수 있습니다. 이를 수행하는 방법에 대한 좋은 예는 다양한 트위터 클라이언트에서 볼 수 있습니다. 예를 들어 Twitterrific에서 작성자 세부 정보 페이지를 볼 때 네트워크 쿼리가 완료 될 때까지 "로드 중 ..."만 표시됩니다.
뷰를 열 때 마다 데이터를로드해야 합니까? 아니면 한 번만 ?
viewDidLoad:어떤 처리를 수행하든 한 번 수행해야합니다.
viewWilLAppear:페이지가로드 될 때마다 변경해야하는 처리
레이블, 아이콘, 버튼 제목 또는 대부분의 dataInputedByDeveloper는 일반적으로 변경되지 않습니다. 이름, 사진, 링크, 버튼 상태, 목록 (tableView 또는 collectionView의 입력 배열) 또는 대부분의 dataInputedByUser는 일반적으로 변경됩니다.
viewWillAppear이 최신 트윗을 쿼리하고 확인할 수 있다고 말하고 있습니다. viewDidAppear너무 늦었 어