Различные продукты базы данных дадут Вам различные ответы; но Вы собираетесь для вреда при переносе этого очень далеко. Вы - далеко более обеспеченный выбор столбцов, которые Вы хотите, и предоставление им Ваши собственные псевдонимы, таким образом, идентификационные данные каждого столбца совершенно ясны, и можно сказать им независимо в результатах.
С Какао вам нужно прочитать файл в памяти, добавить новый объект словаря и записать его обратно в файловая система. Если вы используете XML-список, вы можете довольно легко проанализировать его и постепенно записать в файл, но он также будет немного больше, поэтому вряд ли это того стоит.
Если переписывание списка занимает слишком много времени , вам следует вместо этого использовать базу данных (возможно, через Core Data). Если файл не большой, я сомневаюсь, что это будет проблемой даже с объемом памяти iPhone и скоростью записи на флеш-память.
(Я скопировал это для тех, кто не хочет переходить по ссылке из аналогичного вопроса, на который я ответил здесь: Вопрос о том, как получить данные из plist и как это должно быть layout )
Вот два метода для чтения и записи значений из списка с помощью NSDictionary:
- (NSMutableDictionary*)dictionaryFromPlist {
NSString *filePath = @"myPlist.plist";
NSMutableDictionary* propertyListValues = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
return [propertyListValues autorelease];
}
- (BOOL)writeDictionaryToPlist:(NSDictionary*)plistDict{
NSString *filePath = @"myPlist.plist";
BOOL result = [plistDict writeToFile:filePath atomically:YES];
return result;
}
, а затем где-нибудь в вашем блоке кода:
// Read key from plist dictionary
NSDictionary *dict = [self dictionaryFromPlist];
NSString *valueToPrint = [dict objectForKey:@"Executable file"];
NSLog(@"valueToPrint: %@", valueToPrint);
// Write key to plist dictionary
NSString *key = @"Icon File";
NSString *value = @"appIcon.png";
[dict setValue:value forKey:key];
// Write new plist to file using dictionary
[self writeDictionaryToPlist:dict];