NSMutableDictionaryをplistに書き込む方法について、誰かが私を助けてくれますか?
前もって感謝します..
NSMutableDictionaryをplistに書き込む方法について、誰かが私を助けてくれますか?
前もって感謝します..
書き込んでいるpListファイルが、編集できる合法的な場所にあることを確認してください。たとえば、アプリのサンドボックス内のドキュメントなどです。次に、その場所へのパスを見つけ(既存のpListファイルがある場合は上書きされます)、次を使用します。
[myDictionary writeToFile:path atomically:YES];
あなたがプロセスのどこまで進んでいるか、そして多分いくつかのコード/エラーメッセージを書いてください...
[yourDict writeToFile:filePath atomically:YES];
ディクショナリにはplistオブジェクト(、、、、、、、またはNSData
のインスタンス)が含まれている必要があることに注意してください。そして辞書キーはオブジェクトでなければなりませんNSDate
NSNumber
NSString
NSArray
NSDictionary
NSString
問題は、アプリケーションがplistを独自のバンドルに書き込もうとしていることです。plistはユーザーのライブラリに保存する必要があります。ただし、サービスのユーザーの資格情報を保存する場合は、MacOSXキーチェーンサービスを使用してその情報を保存する必要があります。
NSMutableDictionary *nameDetails=[[NSMutableDictionary alloc] init];
[nameDetails setValue:username forKey:USERNAME_KEY];
[nameDetails setValue:password forKey:PASSWORD_KEY];
NSString *loginDetails = [[NSBundle mainBundle] pathForResource:@"Login" ofType:@"plist"];
[nameDetails writeToFile:loginDetails atomically:YES];
savedStock = [NSMutableDictionary dictionaryWithContentsOfFile:loginDetails];
NSString *pathToPlist = [[NSBundle mainBundle] bundlePath];
pathToPlist = [pathToPlist stringByDeletingLastPathComponent];
pathToPlist = [pathToPlist stringByAppendingPathComponent:@"Documents"];
NSLog(@"%@", pathToPlist; //*
pathToPlist = [pathToPlist stringByAppendingPathComponent:@"Login.plist"];
NSDictionary *nameDetails = @{@"name": @"Albert", @"password": @"emc2"};
[nameDetails writeToFile:pathToPlist atomically:YES];