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 после. Так что, похоже, он не обновляется должным образом. Какие-либо предложения?