我想要完成的是在 AppDelegate 中定义一个 NSMutableArray。然后我有两个 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。所以它似乎没有得到正确更新。有什么建议么?