У меня есть plist, представляющий собой массив словарей, который мне нужно сохранить в каталоге документов. Этот код правильный? - PullRequest
0 голосов
/ 05 ноября 2010

Правильный ли приведенный ниже код для сохранения на диск?

   // 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 Ответ

2 голосов
/ 05 ноября 2010

Нет.

С одной стороны, в конце отсутствует закрывающая скобка, но, возможно, вы просто пропустили это при копировании кода в вопрос.

С другой стороны, код читает в словаре ;он не получает массив (чего-либо) из любого места и не записывает ничего (массив или что-либо еще).

Звучит так, как будто вы скопировали код откуда-то, надеясь, что это то, что вам нужно.Не делай этого. Введите свой собственный код. Читайте код, если хотите, но только читайте it;не просто копируйте код в свою программу, не понимая, что он делает, и не полагайтесь на то, что другие люди скажут вам, что делает код.

Чтобы стать программистом на любом языке или в любой среде, вы должен иметь возможность читать код на этом языке / каркасе.Прочитайте Язык программирования Objective-C и прочитайте Основы какао ;как только вы узнаете концепции, которым учат эти руководства, вам остается только практиковаться в чтении кода.

Очевидно, что вы также должны уметь писать код на целевом языке / фреймворке.Копирование чужого кода не является заменой.В лучшем случае вы получите плохую программу, которая будет нестабильной или просто не будет работать;в худшем случае (если вы «программируете» в качестве подрядчика или сотрудника), вы будете виновны в плагиате.

...