好的,所以从全新(以前未在 iPhone 模拟器上安装的应用程序)开始,该应用程序可以正常启动。然后我按下主页按钮并单击图标,它也很好。然后,如果我按主页按钮,然后从多任务栏关闭应用程序,然后按图标,我会收到 SIGKILL 错误。
但是,当我在 Xcode 中按下运行时,它总是完美无缺地工作(即使在我从多任务栏关闭它之后,按下图标失败)。这只是模拟器的一个怪癖吗?这种行为只有在我实现了一些 NSUserDefault 的东西之后才开始,以记住它的状态等。它确实记住了所有的默认值,但当它工作时。
任何帮助表示赞赏。
编辑:
- (void)viewDidLoad
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:1], @"firstRun",
nil];
[defaults registerDefaults:appDefaults];
if ([[defaults objectForKey:@"firstRun"] intValue] == 1) {
//do the stuff required at first launch
table = [NSMutableArray array];
Stocks =[NSMutableArray array];
Money =1234.56;
mem=@"GOOG";
[defaults setDouble:Money forKey:@"money"];
[defaults setObject:mem forKey:@"ticker"];
[defaults synchronize];
self.Input.text=mem;
- (void)viewWillAppear:(BOOL)animated
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
if ([[defaults objectForKey:@"firstRun"] intValue] == 0) {
[self entered:nil];
} else if ([[defaults objectForKey:@"firstRun"] intValue]== 1){
[defaults setObject:[NSNumber numberWithInt:0] forKey:@"firstRun"];
[defaults synchronize];
}
[super viewWillAppear:animated];
}
这是我认为可能与我的 MainViewController 中的 NSUserDefaults 相关的内容(我不在任何其他 viewController 中使用 UserDefaults)。
我还在其他一些方法中执行了一些 setObjects/同步,但它们仅在单击按钮时执行(当它崩溃时不会发生)。