こんにちは、みなさん。私は、消費者が初めてモーダルを使用するときにモーダルを表示するアプリに取り組んでいます。[保存]ボタンを押すと、要求した情報を保存する.plistファイルがあります。.plistファイルから正常に読み取ることができ、saveメソッドを実行すると、SEEMSは正常に機能しますが、.plistファイルが更新されません。ここでの問題はよくわかりません。私はこのようなモーダルを示しています。
- (void) getConsumerInfo {
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"consumer.plist"];
NSMutableDictionary *plistConsumerInfo = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
NSString *hasAppeared = [plistConsumerInfo objectForKey:@"HasAppeared"];
if(hasAppeared != kHasAppeared) {
ConsumerInfoViewController *tmpConsumerInfoVC = [[ConsumerInfoViewController alloc]
initWithNibName:@"ConsumerInfoView" bundle:nil];
self.consumerInfoViewController = tmpConsumerInfoVC;
[self presentModalViewController:consumerInfoViewController animated:YES];
[tmpConsumerInfoVC release];
}
}
これは、アプリの起動時に最初のビューフォンのviewDidLoadメソッドによって呼び出されます。ConsumerInfoViewController内に、データが入力されたテキストフィールドがあり、[保存]ボタンが押されると、このメソッドが呼び出されます。
- (IBAction)saveConsumerInfo:(id)sender {
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"consumer.plist"];
NSMutableDictionary *plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
NSString *tmpDiversName = txtDiversName.text;
NSString *tmpLicenseType = txtLicenseType.text;
NSString *tmpLicenseNum = txtLicenseNumber.text;
NSString *tmpHasAppeared = @"1";
NSString *tmpNumJumps = @"3";
[plistDict setValue:[[NSString alloc] initWithFormat:@"%@", tmpDiversName] forKey:@"ConsumerName"];
[plistDict setValue:[[NSString alloc] initWithFormat:@"%@", tmpLicenseType] forKey:@"LicenseType"];
[plistDict setValue:[[NSString alloc] initWithFormat:@"%@", tmpLicenseNum] forKey:@"LicenseNumb"];
[plistDict setValue:[[NSString alloc] initWithFormat:@"%@", tmpNumJumps] forKey:@"NumJumps"];
[plistDict setValue:[[NSString alloc] initWithFormat:@"%d", tmpHasAppeared] forKey:@"Show"];
[plistDict writeToFile:filePath atomically: YES];
NSLog([[NSString alloc] initWithContentsOfFile:filePath]);
[self dismissModalViewControllerAnimated:YES];
}
これはすべて問題なく正常に実行されますが、ファイルが更新されることはありません。アプリ全体でこの情報を使用できるように更新し、データが入力された後にビューが再び表示されないようにフラグを更新したいと思います。必要な情報が他にある場合はお知らせください。前もって感謝します!