2011-02-04 3 views
0

메신저 아주 단순한 게임을 디자인하려고합니다. 사용자가 첫 번째 레벨을 완료하면 플레이어가 "재시도 레벨"버튼을 클릭 할 수있게하고 UIView를 처음 만드는 것처럼 UIView와 모든 데이터를 다시로드하는 방법은 무엇입니까?어떻게 전체 클래스와 UIView를 다시로드 할 수 있습니까?

감사합니다.

+0

이것은 응용 프로그램을 구성한 방법에 따라 * 전적으로 달라집니다. 좋은 디자인을 사용했다면 아마도 몇 줄의 코드 일 것입니다. 그렇지 않다면 많은 사람들이 더 많습니다. –

답변

0

가장 간단한 방법은 기존보기를 종료하고 다른보기를 만드는 것입니다.

BTW : UIView (및 그 하위 클립 중 하나)가 smth를 표시하기 때문에 아키텍처 오류이므로 데이터를 저장해서는 안됩니다. 일부 백엔드 클래스를 만들어야합니다. MyGameController와 같은 Smth는 모든 게임 플레이와로드/리로드 레벨 등을 제어해야합니다.

+0

네, 맞습니다. 나는 로직을위한 별도의 클래스와 UI를위한 코드로 코드를 다시 작성할 것이다. UIView를로드하는 방법을 알고 있지만 어떻게 죽일지 모르겠습니다. 어떻게해야합니까? – John

+0

보유 수에 따라 다릅니다. 일부 수퍼 뷰에 추가 한 다음 릴리스하면 다음과 같이 호출해야합니다. [someView removeFromSuperView]; 당신이보기를 풀었다면 당신은 수퍼 뷰에서 제거하고 나서 놓아야 만합니다. 모든 것을 이해하기 위해 메모리 관리 지침을 더 잘 읽어야합니다. – Max

0

당신은 사용에 UIView를 다시로드 할 수 있습니다 :

YourViewController *name = [[YourViewController alloc]initWithNibName:@"YourViewController" bundle:nil]; 
[self.navigationController pushViewController:name animated:NO]; 

그것이 도움이되기를 바랍니다.

관련 문제