2010-07-13 4 views
0

Quel est le chemin de fichier correct pour stocker un plist sur l'appareil.L'emplacement correct du fichier pour stocker un plist sur l'appareil

Je lis ceci dans un tutoriel

qui travaillera pour l'ordinateur, souhaite connaître l'emplacement du fichier pour le périphérique.

// write xml representation of dictionary to a file 
[dictionary writeToFile:@"/Users/henrik/Sites/foo.plist" atomically:NO]; 

J'essaie actuellement d'écrire sur le chemin du fichier que je lis de

NSString *filepath = [[NSBundle mainBundle] 
         pathForResource:@"UserAdded" ofType:@"plist"]; 
userAddedQuotes = [[NSMutableArray alloc] initWithContentsOfFile:filepath]; 

comme suit

[userAddedQuotes addObject:temp]; 
    [userAddedQuotes writeToFile:filepath atomically: NO]; 

Le tableau est mis à jour dans l'exécution, mais ne marche pas être sauvé à la plist .

Répondre

4

Vous ne pouvez écrire dans aucun fichier de votre ensemble d'applications (y compris votre répertoire de ressources). Si vous voulez écrire un fichier, vous devez l'écrire dans le dossier Documents ou Library de votre application, selon le fichier. Par exemple:

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

Renvoie le tableau de chemins, dont le premier est votre répertoire de documents.

+0

Très bien. Comment écrire sur le chemin? Et je me demandais cela avant, je le fichier n'existe pas encore, comment puis-je créer une plist à cet endroit? Cordialement – jarryd

+0

Vous venez de lui écrire. Votre code ci-dessus est correct pour écrire dans un fichier, le problème est que vous essayez d'écrire dans un fichier en lecture seule. Pointez-le vers un emplacement inscriptible (tel que celui que j'ai mentionné) et vous devriez aller bien. Il est probablement à noter que depuis iOS 4 et Snow Leopard, il est préférable d'utiliser des méthodes basées sur l'URL (writeToURL :) et NSURL, mais ce n'est pas nécessaire. –

+0

Ok. Je l'ai configuré correctement maintenant, mais en essayant d'y écrire, l'application plante sans erreur. Je le pense car il n'y a pas de fichier dans le répertoire des documents. Comment puis-je créer depuis à partir du code? Ou y a-t-il un endroit où le fichier peut être placé dans le projet xcode? Cordialement – jarryd

Questions connexes