1
두 개의 앱에 UITableViewControllers
이 있습니다. 첫 번째 테이블보기에서 셀을 클릭하면 서버에서 데이터를 가져온 다음 두 번째 테이블보기로 이동합니다.두 화면 사이에 로딩 스피너 표시 방법
사용자가 클릭하면 서버에서 데이터를로드하고 그 다음에 두 번째 테이블보기를 표시합니다. 그 사이에 데이터가 서버에서로드되기 때문에 두 번째 지연이 있습니다.
사용자가 첫 번째 테이블 컨트롤러에서 셀을 클릭하고 서버에서 데이터를 가져 왔을 때 "로드 중"회 전자가 사라지면 즉시 로딩 스피너를 보여주고 싶습니다.
이 나는 현재하고 있어요 무엇 :
Class FirstController < UITableViewController
...
def tableView(tableView, didSelectRowAtIndexPath:indexPath)
initAFNetworkingClient
Colors.fetch(AFMotion::Client, self.data[indexPath.row]["id"]) do |data|
self.navigationController.pushViewController(SecondController.alloc.initWithData(data, self.data[indexPath.row]), animated:true)
end
end
...
end
왜 두 번째보기를 표시하지 않고 필요한 데이터를 얻을 때까지 회 전자를 표시합니까? – Wain
나는 그 일을 시도했다. 나는 두 번째 뷰를 바로 보여 주었고 두 번째 뷰의 viewDidLoad 메서드에서 서버로부터 데이터를로드했다. 그러나 서버의 데이터가 비동기 적으로로드되므로 테이블 뷰에 데이터가 바로 필요하기 때문에 오류가 발생합니다. – birdy
그래서 잘못 코딩했거나 테이블에 * 데이터가 있어야만한다면 틀리게 설계되었습니다. 테이블은 데이터가 사용 가능해질 때까지 빈 배열 (행 수 0)을 가져야합니다. – Wain