我正在使用xcode 4,我已经创建了一个CoreData模型。我想知道是否可以将数据插入到xcode中的实体中。
请不要告诉我将数据输入模型的唯一方法是以编程方式。
干杯
答案 0 :(得分:3)
Ray Wenderlich使用Python脚本填充数据库,提供How to Preload/Import Existing Data的教程。
他关于Core Data的三部曲系列内容非常丰富。
答案 1 :(得分:2)
您无法直接使用XCode输入数据。如果您不想使用代码执行此操作,则可以预填充数据库。在SO上查看this Q&A。
答案 2 :(得分:0)
这是一个非常慢的过程,但您可以填充核心数据。
在appDelegate.m中插入以下代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
...
//test
//writing data
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *model = [NSEntityDescription insertNewObjectForEntityForName:@"Invitados" inManagedObjectContext:context];
[model setValue:@"Alicia" forKey:@"name"];
[model setValue:@"Sanchez" forKey:@"firstname"];
[model setValue:@"Romero" forKey:@"secondname"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Couldn't save: %@", [error localizedDescription]);
}
//retrieving data
// NSManagedObjectContext *context = [self managedObjectContext];
//NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Invitados" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *get in fetchedObjects) {
NSLog(@"Nombre: %@", [get valueForKey:@"name"]);
NSLog(@"Apellido 1: %@", [get valueForKey:@"firstname"]);
NSLog(@"Apellido 2: %@",[get valueForKey:@"secondname"]);
}
// End test