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