現在、NSMutabledictionaryのキーとオブジェクトをplistファイルに保存しようとしています。私のキーは整数なので、NSNumberを使ってwriteToFile関数に入れます。NSMutable辞書データをplistファイルに保存します_整数をキーとして保存
この変更があっても、plistの検索で保存したデータは見つかりません。私はNSNumberポインタに問題があると仮定します。なぜなら、文字列を使用すると、それは機能します。
あなたは自分のコードに何が欠けているか考えていますか?
NSMutableDictionary *dictionnaireNoms = [[NSMutableDictionary alloc] initWithCapacity:40];
NSNumber *nombre = [[NSNumber alloc] initWithInteger:dictionnaireNoms.count];
NSString *nomCommerce = text.text;
[dictionnaireNoms setObject:nomCommerce forKey:nombre];
//2. Sauvegarde du nom dans un fichier
[saveDicoCommerce enregisterNom:dictionnaireNoms];
- (void)enregisterNom:(NSMutableDictionary*)nom
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSLog(@"%@", documentsDirectory);
NSString *pathNom = [documentsDirectory stringByAppendingPathComponent:@"NomsDeCommerces.plist"];
if (!documentsDirectory) {
NSLog(@"Documents directory not found!");
return;
}
[nom writeToFile:pathNom atomically:YES];
if(![[NSFileManager defaultManager] fileExistsAtPath:pathNom])
{
NSLog(@"file not found");
return;
}
}
※オブジェクト型データはnsdictionaryに保存することはできません –
ありがとうございました。 NSMutableDictionaryで整数をキーとして設定することは不可能であることを意味しますか? –
NSMutableDictionaryのwriteToFile:Atomicallyメソッドで見つかった "このメソッドは、ファイルを書き出す前に、すべてのオブジェクトがプロパティリストオブジェクト(NSData、NSDate、NSNumber、NSString、NSArray、NSDictionaryのインスタンス)であることを再帰的に検証します。結果のファイルは有効なプロパティリストではないため、すべてのオブジェクトがプロパティリストオブジェクトでない場合はNOを返します。 –