実装で「saveState」メソッドを作成しようとしています(blablabla.m内):
-(void)saveState {
NSString *masterCode = [[NSString alloc] initWithString:first];
masterCode = [masterCode stringByAppendingString:second];
masterCode = [masterCode stringByAppendingString:third];
masterCode = [masterCode stringByAppendingString:fourth];
NSLog(@"master passcode - %@", masterCode);
NSString *plistPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"timeLimiterMasterCode.plist"];
if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
[[NSFileManager defaultManager] createFileAtPath:plistPath contents:nil attributes:nil];
}
if ([[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
NSLog(@"file exists, %@", plistPath);
}
NSMutableDictionary *plistCode = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
[plistCode setObject:masterCode forKey:@"MasterCode"];
NSLog(@"whole plist - %@", plistCode);
[plistCode writeToFile:plistPath atomically: YES];
NSLog(@"master passcode from file - %@", [plistCode objectForKey:@"MasterCode"]);
}
masterCode は nill ではありません。blablabla.h ファイルでは、プロトコル UIApplicationDelegate を使用しています。「ファイルが存在します」が、アプリケーションは次のように返します。 -29 12:19:50.500 timeLimiter[916:907] ファイルからのマスター パスコード - (null)
viewController (.m, .h) のほかに、別の plist と write メソッドを使用すると、正しく動作します。
[plistCode setObject:masterCode forKey:@"MasterCode"] が丘であることがわかりました。「masterCode」を @"test" に置き換えようとしましたが、意味がありませんでした。
私の問題を解決できますか?お願いします?