Если данные структурированы реляционным способом, то XML или JSON позволяют легко сохранить эту структуру, а затем легко проанализировать и сохранить в вашем хранилище базовых данных.Вам нужно будет использовать синтаксический анализатор XML или JSON, который превратит ваши данные в массив словарей (или нескольких уровней, если этого требует ваша структура данных).Вы будете просто перебирать массив и копаться в словари (и под-массивы и под-словари, если это уместно) и добавлять объекты в свой магазин по ходу работы.
Если это плоские данные, простойтаблица, которая станет единым целым в Базовых данных, затем текстовые файлы с разделителями табуляции или CSV подойдут (и разделить табуляцией еще проще, если не будет никаких вкладок в самих данных).Затем вы можете захватить отдельные строки, разбить строки на массив битов данных (в этом случае разделение табуляции очень просто), создать новый объект для каждой строки, установить его свойства для элементов массива и сохранить контекст..
Версия XML / JSON более сложна, чем здесь стоит написать - поищите SO, и вы найдете множество примеров - но вот версия с разделителями табуляции (предполагается, что у вас нетгигантский шарик данных, который невозможно удержать в памяти):
// Standard Core Data setup here, grabbing the managedObjectContext,
// which is what I'll call it
// Then parse your text
NSString *path = [[NSBundle mainBundle] pathForResource:@"YourTextFileName" ofType:@"txt"];
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
NSArray *rows = [content componentsSeparatedByString:@"\n"];
// Now that we have rows we can start creating objects
YourManagedObject *yourManagedObject = nil;
for (NSString *row in rows) {
NSArray *elements = [row componentsSeparatedByString:@"\t"];
YourManagedObject *yourManagedObject = (YourManagedObject *)[NSEntityDescription insertNewObjectForEntityForName:@"YourManagedObject" inManagedObjectContext:managedObjectContext;
[YourManagedObject setName:[elements objectAtIndex:0]];
[YourManagedObject setCountry:[elements objectAtIndex:1]];
// Etc. You may need an NSNumberFormatter and/or an NSDateFormatter to turn
// your strings into dates and numbers, depending on your data types
[managedObjectContext save];
}
Пуф, все готово.