2010-11-05 36 views
-2

Le code ci-dessous est-il correct pour l'enregistrement sur le disque?J'ai un plist qui est un tableau de dictionnaires que j'ai besoin d'enregistrer dans le répertoire de documents est ce code correct?

// get the path to the "Documents" directory 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

// get the path to our plist ("Documents/foo.plist") 
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"foo.plist"]; 

// read or create plist 

NSMutableDictionary *dict; 
// check if our plist already exists in the Documents directory... 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
if ([fileManager fileExistsAtPath:plistPath]) { 
// ...if it does, read it 
NSLog(@"dict existed, reading %@", plistPath); 
dict = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath]; 
} else { 
// ...if it doesn't, create it 
NSLog(@"dict didn't exist, creating..."); 
dict = [NSMutableDictionary dictionaryWithCapacity:1]; 
+1

Pourquoi ne pas essayer si cela fonctionne? – Eiko

+0

D'accord avec Eiko - Si vous rencontrez des problèmes spécifiques, divulguez-les, sinon, la réponse est "faites-le vous-même pour découvrir et arrêter de perdre du temps". –

+1

Il n'y a pas beaucoup d'informations pour nous de continuer. Y a-t-il des erreurs? Si oui, quels sont-ils. J'espère que vous ne pensez pas que nous allons copier/coller ceci dans un nouveau projet Xcode et voir si cela fonctionne? Vous pouvez le faire vous-même. –

Répondre

2

No.

D'une part, il manque une accolade de fermeture à la fin, mais peut-être que vous venez de gauche que lorsque la copie du code dans la question.

D'autre part, le code lit dans un dictionnaire; il n'obtient pas un tableau (de n'importe quoi) de n'importe où, ni n'écrit quoi que ce soit (tableau ou autre).

Il semble que vous ayez copié le code quelque part, en espérant que c'est ce dont vous avez besoin. Ne fais pas ça. Écrivez votre propre code. Lire le code si vous le souhaitez, mais seulement lire it; ne copiez pas simplement du code dans votre programme sans comprendre ce qu'il fait, et ne comptez pas sur d'autres personnes pour vous dire ce que fait le code.

Afin d'être un programmeur dans n'importe quelle langue ou cadre, vous devez être capable de lire le code dans cette langue/cadre. Lisez le Objective-C Programming Language et lisez le Cocoa Fundamentals Guide; Une fois que vous connaissez les concepts enseignés par ces guides, tout ce qui reste est de pratiquer le code de lecture.

Vous devez évidemment pouvoir écrire du code dans la langue/le framework cible. Copier le code d'autres personnes n'est pas un substitut. Au mieux, vous finirez avec un programme de mauvaise qualité qui est floconneux ou ne fonctionne tout simplement pas; au pire (si vous «programmez» en tant qu'entrepreneur ou employé), vous serez coupable de plagiat.

+0

Merci Peter. Je ne suis certainement pas un entrepreneur. Je suis un compositeur de Nashville qui apprend quelque chose de nouveau! La sauvegarde des données n'était pas quelque chose que les livres que je lisais, et je peux comprendre pourquoi. C'est un concept difficile. Je saisis ça maintenant. –