Хранить массивы между представлениями - PullRequest
0 голосов
/ 02 марта 2012

У меня есть главное представление, где я инициализирую несколько массивов и освобождаю их в viewDidUnload. Поэтому, когда я переключаюсь на другое представление, где у меня есть инструкции, и я возвращаюсь к основному виду, все массивы снова равны нулю.

Что я должен делать: когда приложение запускается, массивы инициализируются, при их использовании я могу перейти к другим представлениям, а когда вернусь к основному виду, массивы сохранят значения, и только когда приложение закрыто, затем освободите все массивы.

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

Вы можете использовать разные подходы к вашей проблеме. Я могу рассказать вам несколько способов.

  • Вы можете написать методы для инициализации представления, которые будут принимать 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 для определения экземпляров для необходимого объекта в каждом представлении.

  • Вы можете использовать делегатский подход . Например, вы можете делегировать методы из второго представления в первом представлении.

0 голосов
/ 02 марта 2012

Просто отпустите их в -dealloc и инициализируйте их в viewDidLoad. Таким образом, они освобождаются или аннулируются только тогда, когда представление закрывается, а когда оно перезагружается, они повторно инициализируются.

Надеюсь, это поможет.

...