0

現在、NSMutabledictionary のキーとオブジェクトを plist ファイルに保存しようとしています。私のキーは整数なので、NSNumber を使用してそれらを writeToFile 関数に入れています。

その変更を行っても、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;
    }

}
4

2 に答える 2

0

なぜ NSNumber を割り当てたいのですか? これを試してください [your_dictionary setValue:[NSNumber numberWithInt:your_int]];

于 2012-04-12T14:30:45.897 に答える