장치에 대한 코드를 테스트하고 성능에 대한 가정을하지 않을 것을 제안합니다. 나는 당신이 서버로 가서 해당 이미지가 푸시 된보기로 표시되도록 요청한다고 가정합니다. 어떤 경우에는 이미지 위치 표시자를 사용하여 뷰를로드하고 보조 스레드에서 다운로드 이미지를 스핀 오프해야합니다 (UI를 차단하지 않도록 느리게로드하는 것이 좋음). 이미지 데이터가 사용 가능할 때 이미지 자리 표시자를 업데이트합니다.
자세한 도움이 필요하시면 기꺼이이 답변을 업데이트하십시오.
푸시 된 뷰에서 테이블 뷰를로드하는 경우 푸시 된 뷰 (보기 흉한 UX 임)보다 먼저 뷰에서 정지가 발생합니다. 따라서 잠시 동안 걸리는 코드의 로직을 "push view"의 하위 클래스로 옮기십시오. 데이터를 처리하는 동안 회 전자 (MBProgressHud 사용)와 같은 것을 구현할 수 있습니다. 이렇게하면 지연이 시작되기 전에로드 된보기가 표시됩니다.
이제 UX를 개선하는 절차는 다음과 같을 수 있습니다.
1. 밀어 넣기보기의 - (void)viewDidLoad
에서 테이블 뷰를 숨길 수 있습니다. 푸시 된 뷰의 -(void)viewDidAppear:(BOOL)animated
에서
[self.myTable setHidden:YES];
2. (여기 작업의 URL에서 이미지를 찾는 서버로 이동되는) 일을 알고하는 사용자에 대한 회 전자를 던져 일을 .
//your code here will vary
3. 모든 데이터는 단지 테이블을로드 다운로드 알고
는 스피너를 숨기고 테이블을 보여줍니다.
-(void)viewDidAppear:(BOOL)animated
메소드 끝에이 작업을 수행 할 수 있습니다.
[MBProgressHUD hideHUDForView:self.view animated:YES];
[myTable reloadData];
나는 사용자가 기다려 탐색 모음에서 다시 차단 버튼을하지 않기로 결정을 싫어하기 때문에, 보조 스레드에 모든 비용이 일을 보내는 것이 좋습니다. 그러나 원래의 질문에 답하기 위해 뷰를 즉시로드해야하지만 데이터를 얻기 위해 기다려야합니다.
하나의보기에서 다음보기로의 전환을 처리하는 코드를 게시하는 것이 도움이됩니다. 그것은 segue를 통해입니까? 아니면 수동으로 밀어 넣으시겠습니까? 그것이 시작되기 전에 어떤 유형의 설정을하고 있습니까? 더 많은 정보가 필요합니다. –