다른 답변과 문서를 보았습니다. 어쩌면 내가 뭔가를 놓치고 있거나 다른 문제가있을 수 있습니다. 앱을 종료 할 때 숫자를 저장하려고 시도하고 앱이로드되면이 값이 존재하는지 확인하고 이에 따라 조치를 취하고 싶습니다. 이것은 내가 시도 것입니다 :NSUserDefaults : 저장된 번호 항상 0, iPhone
종료에 저장하려면 :
- (void)applicationWillTerminate: (UIApplication *) application
{
double save = [label.text doubleValue]; // This could be the issue
//double save = 3.5; // This works, it saves the value and loads it fine, so that is not the problem here.
[[NSUserDefaults standardUserDefaults] setDouble: save forKey: @"savedNumber"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
확인하려면
는- (IBAction)buttonclickSkip{
double save = [[NSUserDefaults standardUserDefaults] doubleForKey: @"savedNumber"];
if (save == 0) {
[self performSelector:@selector(displayAlert) withObject:nil];
test.enabled = YES;
test.alpha = 1.0;
skip.enabled = NO;
skip.alpha = 0.0;
}
else {
label.text = [NSString stringWithFormat:@"%.1f %%", save];
}
}
문제는 내가 항상 내 경고 메시지가 표시 얻을되는
저장된 값을 넣어하지 않습니다 그래서 어떻게 든 == 0은 항상 참입니다. 이유 :
double save = [label.text doubleValue];
항상 0입니까? 앱을 종료하기 전에 해당 라벨의 숫자는 대략 0.5 % (다양 함)입니다. 차이가 있다면 iPhone 시뮬레이터에서 테스트하고 있습니다.
많은 감사,
스투
'applicationWillTerminate :'에 중단 점을 설정하십시오. 'label'의 가치는 무엇입니까? 그것은 '아니오'입니까? 그리고 pheelicks가 묻는 것처럼,'save'의 가치는 무엇입니까? –
중단 점에 도달하지 않았습니다. applicationWillTerminate가 내 apploadViewController.m에 있습니다 ...이게 맞습니까? – Stumf
jlehr가 내 다음 질문에 나를 이겼다. (왜 내가 더 많은 정보를 먼저 요구했는지) –