3

NSMutableDictionaryをplistに書き込む方法について、誰かが私を助けてくれますか?

前もって感謝します..

4

5 に答える 5

6

書き込んでいるpListファイルが、編集できる合法的な場所にあることを確認してください。たとえば、アプリのサンドボックス内のドキュメントなどです。次に、その場所へのパスを見つけ(既存のpListファイルがある場合は上書きされます)、次を使用します。

[myDictionary writeToFile:path atomically:YES];

あなたがプロセスのどこまで進んでいるか、そして多分いくつかのコード/エラーメッセージを書いてください...

于 2010-10-21T08:49:47.113 に答える
4
[yourDict writeToFile:filePath atomically:YES];

ディクショナリにはplistオブジェクト(、、、、、、、またはNSDataのインスタンス)が含まれている必要があることに注意してください。そして辞書キーはオブジェクトでなければなりませんNSDateNSNumberNSStringNSArrayNSDictionaryNSString

于 2010-10-21T06:12:02.330 に答える
2

問題は、アプリケーションがplistを独自のバンドルに書き込もうとしていることです。plistはユーザーのライブラリに保存する必要があります。ただし、サービスのユーザーの資格情報を保存する場合は、MacOSXキーチェーンサービスを使用してその情報を保存する必要があります。

于 2010-12-08T14:41:19.600 に答える
1
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];
于 2010-10-22T11:19:25.230 に答える
1
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];
  • Finderで見つけることができるように、コンソールへのパスをログに記録しています。コンソールからクリップボードへのパスをコピーします。次に、Finderで[移動]メニューから[フォルダに移動...]を選択します。パスをダイアログボックスに貼り付けると、plistが置かれているフォルダが開きます。次に、それを調べて、すべてが正常に機能することを確認できます。
于 2013-12-04T13:31:47.877 に答える