1

在 MyViewController.h 中声明:

AppDelegate *appDelegate;
@property (nonatomic, strong) AppDelegate *appDelegate;

在 MyViewController.m 的 viewDidLoad 中:

self.appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
localAppDelegate= (AppDelegate *)[[UIApplication sharedApplication] delegate];

由于某种原因 appDelegate 保持为空,但 localAppDelegate 已正确分配。

为什么 self.appDelegate 没有被正确分配?

4

1 回答 1

2

好吧,Erik 根据您的评论 localAppDelegate 应该始终可以访问,但请务必将 AppDelegate 标头导入您要在其中使用 appDelegate 的类..如果您需要存储变量,如用户设置、公共变量..等。我更喜欢NSUserDefaults在这种情况下使用它的简单和推荐使用.. 这是一个简单的例子来保存和获取字符串NSUserDefaults

  1. 设置 :

    NSString *str = @"Malek";
    [[NSUserDefaults standardUserDefaults] setValue:str forKey:@"myName"]; [[NSUserDefaults standardUserDefaults] synchronize];

2.得到:

NSString *myName = [[NSUserDefaults standardUserDefaults] valueForKey:@"myName"];
于 2012-04-19T15:33:04.397 回答