La méthode ci-dessous permet d'écrire et de lire un fichier de propriétés. Il existe peut-être d'autres méthodes, mais je ne les ai pas encore découvertes. Cette méthode peut évidemment être utilisée pour stocker d'autres données que des propriétés.
// l'objet proprietes stockera toutes les valeurs de propriétés NSMutableArray *proprietes = [[NSMutableArray alloc] init]; // L'objet propriete est utilisé pour stocker un groupe logique de propriété. NSMutableDictionary *propriete; // l'objet propriete est initialisé pour le groupe 1 propriete = [NSMutableDictionary dictionary]; [propriete setObject:@"valeurProp1Groupe1" forKey:@"prop1Groupe1"]; [propriete setObject:[NSNumber numberWithInt:200] forKey:@"prop2Groupe1"]; // propriete est ajouté au tableau proprietes [proprietes addObject:propriete]; // l'objet propriete est à nouveau initialisé pour un nouveau groupe propriete = [NSMutableDictionary dictionary]; [propriete setObject:@"valeurProp1Groupe2" forKey:@"prop1Groupe2"]; [propriete setObject:[NSNumber numberWithInt:200] forKey:@"prop2Groupe2"]; // propriete est ajouté au tableau proprietes [proprietes addObject:propriete];
[proprietes writeToFile:@"/tmp/proprietes.plist" atomically:YES];
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>prop1Groupe1</key> <string>valeurProp1Groupe1</string> <key>prop2Groupe1</key> <integer>200</integer> </dict> </array> </plist>
NSArray *proprietes = [NSArray arrayWithContentsOfFile:@"/tmp/proprietes.plist"]; for (NSDictionary *d in proprietes) { // Les propriétés sont par exemple exploitables grâce à objectForKey:(NSString *)key }