iPhone: использование NSMutableArry в AppDelegate в качестве глобальной переменной

То, что я пытаюсь сделать, это иметь NSMutableArray, определенный в AppDelegate. У меня тогда есть два UIViewControllers. Один вид отвечает за отображение массива из AppDelegate. Другое представление используется для добавления элементов в массив. Таким образом, массив начинает быть пустым. View1 ничего не отображает, потому что массив пуст. Пользователь переходит к View2 и добавляет элемент в массив в AppDelegate. Затем, когда пользователь возвращается к View1, он теперь отображает один элемент.

Вот как я пытаюсь это сделать

@interface CalcAppDelegate : NSObject <UIApplicationDelegate> {
 UIWindow *window;
 UITabBarController *tabBarController;
 NSMutableArray *globalClasses;
}
@property (nonatomic,retain) NSMutableArray *globalClasses;

Мой другой взгляд

В viewDidload я установил массив в моем View, чтобы он был таким же, как в AppDelegate. Стремясь сохранить ценности.

allCourses = [[NSMutableArray alloc]init];
CalcAppDelegate *appDelegate = (CalcAppDelegate *)[[UIApplication sharedApplication] delegate];
allCourses = appDelegate.globalClasses;

Затем я обновил бы свой массив allCourses, добавив новый элемент. Затем попробуйте установить массив в AppDelegate равным модифицированному.

CalcAppDelegate *appDel = (CalcAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSLog(@"Size before reset %d",[appDel.globalClasses count]);
    appDel.globalClasses = allCourses;
    NSLog(@"Size after reset %d",[appDel.globalClasses count]);

То, что я вижу, это вернулось 2 в до и 2 после. Так что, похоже, он не обновляется должным образом. Какие-либо предложения?

Ответы на вопрос(2)

Ваш ответ на вопрос