2012-03-01 6 views
0

나는 severals 배열을 초기화하고 viewDidUnload에서 풀어 놓은 주보기가 있습니다. 그래서 내가 다른 견해로 바뀌었을 때 나는 주된 견해로 되돌아 왔고, 모든 배열은 다시 무효가되었다.보기간에 배열 유지

내가 무엇을 해야할까요 : 앱이 점심을 먹으면 배열이 초기화되고 y를 사용하며 다른보기로 이동할 수 있으며 배열이 값을 유지하는 주보기로 되돌아 올 수 있습니다. 응용 프로그램은 가까운 다음 모든 배열을 릴리스합니다.

어떻게해야합니까?

답변

0

-dealloc에서 방금 릴리스하고 viewDidLoad에서 초기화하십시오. 그렇게하면 뷰가 종료 될 때만 해제되거나 무효화되고 다시로드 될 때 다시 초기화됩니다.

희망이 도움이됩니다.

0

문제에 대해 다른 방법을 사용할 수 있습니다. 나는 너에게 몇 가지 방법을 말할 수있다.

  • 매개 변수로 NSArray를 사용하는보기 초기화를위한 메소드를 작성할 수 있습니다. 마찬가지로 :

    - (id)initWithArray:(NSArray *)myArray { 
        [super init]; 
        //here you can store an NSArray inside this ViewController in @property. For ex: 
        currentArray = myArray; 
        return self; 
    } 
    
  • 당신은 CoreData 같은 글로벌 스토리지를 사용하고 모든 뷰에서 필요한 객체에 대한 인스턴스를 정의하는 NSManagedObject 클래스를 사용할 수 있습니다.

  • delegate approach을 사용할 수 있습니다. 예를 들어 첫 번째보기에서 두 번째보기의 메서드를 위임 할 수 있습니다.

+0

정말 고마워요.하지만 제가 정말 초보자라고 말하면서, 코드를 어디에 삽입해야합니까? I 단지 헤더 및 구현이 다음시 초기화 ViewController.h 및 ViewController.m 여기이다 : -있는 viewDidLoad (공극) {// iniciliza 라 타블라 tableViewData = [있는 NSMutableArray의 ALLOC] initWithObjects : nil]; tableViewDataDetail = [[NSMutableArray alloc] initWithObjects : nil]; [super viewDidLoad]; } 그래서 다른보기로 이동하고 돌아올 때마다 입력 한 데이터가 느슨합니다. 어떻게 initWithArray를 사용해야합니까? 그리고 너무 바보스러워서 다시 한 번. – user1243660

관련 문제