退出程序(后台输入)后是否可以保持变量?

时间:2013-03-10 12:02:25

标签: ios objective-c

我有一个标签,用户将在用户点击按钮后设置该号码,该号码将存储在数字变量中。 appdelegate.m 我想访问已设定的数字。 例如,标签的输入是 9:25 这就是我所做的。我认为在appdelegate.m中声明我的viewcontroller是错误的,但我不知道该怎么做。

ShowOfNotificationViewController.h

@property(strong,nonatomic) NSString *numbers;

ShowOfNotificationViewController.m

@implementation ShowOfNotificationViewController
@synthesize numbers;

- (IBAction)setTime:(id)sender {
numbers=TimeLabel.text;
}

ShowOfNotificationAppDelegate.m

#import "ShowOfNotificationAppDelegate.h"
#import "ShowOfNotificationViewController.h"

    - (void)applicationDidEnterBackground:(UIApplication *)application
    {
        ShowOfNotificationViewController *m;

         NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
        [f setNumberStyle:NSNumberFormatterDecimalStyle];
        NSArray *listItems = [m.numbers componentsSeparatedByString:@":"];
        NSNumber * myNumber1 = [f numberFromString:listItems[0]];
        NSNumber * myNumber2 = [f numberFromString:listItems[1]];
        NSLog(@"%@",myNumber1);
        NSLog(@"%@",myNumber2);
    }

输出为null,null

2 个答案:

答案 0 :(得分:3)

<!-- @CodaFi: here you are -->

如果它不是敏感数据,您可以将值存储在操作系统持久保存到磁盘的用户默认值中:

[[NSUserDefaults standardUserDefaults] setObject:self.numbers forKey:@"Numbers"];
[[NSUserDefaults standardUserDefaults] synchronize];

并检索它:

self.numbers = [[NSUserDefaults standardUserDefaults] objectForKey:@"Numbers"];

答案 1 :(得分:0)

伙计,你应该为你的ShowOfNotificationViewController分配init并将它存储到一个属性或某个类ShowOfNotificationViewController * var ...

你不能指望简单的ShowOfNotificationViewController * m;将允许您的应用程序知道您想要获取特定元素....

你只是定义一个var,但是你没有分配它......程序应该怎么做呢?

试着考虑一下: 我应该是一个人,但他不在这里!他在哪里?谁知道。 当然,当你说m,你的名字是什么时,没有人会回答你。 (空)

但如果你说m = giovanni; 然后你问他的名字他会回答“giovanni”!

你需要做的是 ShowOfNotificationViewController * m =之前创建的一些ShowOfNotificationViewController;

这将有效。