重複の可能性:
Plist に書き込めません
この問題があります。「instellingen」という名前の plist ファイルがあります。ファイルには、さまざまな設定が保存されます。たとえば、起動時にゲームのルールを表示します。これはシミュレーターでは問題なく動作しますが、iPad でテストしたところ、plist データが保存されませんでした。
ここに私のコードがあります:
- (void)viewDidLoad
{
[super viewDidLoad];
plistPath = [[NSBundle mainBundle] pathForResource:@"instellingen" ofType:@"plist"];
instellingen = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
if ([[instellingen objectForKey:@"regelAtRuntime"] boolValue] == TRUE) {
[self.showRulesButton setTitle:@"Spelregels niet meer tonen" forState:UIControlStateNormal];
}else{
[self.showRulesButton setTitle:@"Spelregels wel tonen" forState:UIControlStateNormal];
}
[self.mainContent flashScrollIndicators];
}
- (IBAction)dismissRules:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (IBAction)dontShowRegels:(id)sender {
if ([[instellingen objectForKey:@"regelAtRuntime"] boolValue] == TRUE) {
[instellingen setValue:@"0" forKey:@"regelAtRuntime"];
}else{
[instellingen setValue:@"1" forKey:@"regelAtRuntime"];
}
[instellingen writeToFile:plistPath atomically:YES];
}
厳しい VC からルールを読み取ることは、次のコードでうまくいくようです。
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"instellingen" ofType:@"plist"];
instellingen = [NSDictionary dictionaryWithContentsOfFile:plistPath];
if ([[instellingen objectForKey:@"regelAtRuntime"] boolValue] == TRUE) {
NSLog(@"We're in!");
[self performSegueWithIdentifier:@"showRulesSegue" sender:self];
}
誰かが私が間違っていることを知っていますか? クリーン ビルド (Product Clean) を実行してみました。
どんな助けも大きな意味があります!