2012-01-24 21 views
9

Estoy tratando de tener un Core Data muy simple. Tengo un ViewController.h así:Problema Nombre desconocido tipo NSManagedObject

#import <UIKit/UIKit.h> 

@interface ViewController : UIResponder <UIApplicationDelegate>; 

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext; 
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel; 
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator; 

- (IBAction)boutonSave:(id)sender; 

@end 

y una ViewController.m así:

#import "ViewController.h" 

@implementation ViewController 

@synthesize managedObjectContext = __managedObjectContext; 
@synthesize managedObjectModel = __managedObjectModel; 
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator; 

- (IBAction)boutonSave:(id)sender { 
ViewController *viewController = [[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext *context = [viewController managedObjectContext]; 
NSManagedObject *newJournee; //THIS LINE IN ERROR 
newJournee = [NSEntityDescription insertNewObjectForEntityForName:@"JourneeDeTravail" inManagedObjectContext:context]; 
[newJournee setValue:_displayStart.text forKey:@"debut"]; 
[newJournee setValue:_displayEnd.text forKey:@"fin"];  

}

Pero al crear newJournee, tengo una alerta roja "nombre de tipo Unknow 'NSManagedObject', ¿te refieres a NSManagedObjectModel? " ??? Es mi primer Core Data, así que ciertamente me perdí algo obvio para ti ... ¡pero no para mí! Ayuda !

+1

suena como que te perdiste un #import –

+5

Sí, tienes razón! Al agregar #import al principio lo arregló! Gracias ! –

Respuesta

5

suena como se ha perdido un import

+0

Sí tenía un problema similar al de la importación: Prefix.pch -> // // Cabecera de prefijo // // El contenido de este archivo se incluye implícitamente al principio de cada archivo fuente. // import #ifndef __IPHONE_5_0 #WARNING "Este proyecto utiliza características sólo están disponibles en el SDK de iOS 5.0 y posterior." #endif #ifdef __OBJC__ import import import #endif –

18

añadir CoreData.framework e importación, como a continuación

#import <CoreData/CoreData.h> 

creo que sirve ~

0

no se preocupe. Todo parece estar bien ...

Solo haga una cosa ... Vaya al archivo ViewController.m suyo y agregue esta línea.

#import "ViewController.h" 
#import <CoreData/CoreData.h> 

@implementation ViewController 

@synthesize managedObjectContext = __managedObjectContext; 
@synthesize managedObjectModel = __managedObjectModel; 
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator; 

- (IBAction)boutonSave:(id)sender { 
ViewController *viewController = [[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext *context = [viewController managedObjectContext]; 
NSManagedObject *newJournee; //Error removed 
newJournee = [NSEntityDescription insertNewObjectForEntityForName:@"JourneeDeTravail" inManagedObjectContext:context]; 
[newJournee setValue:_displayStart.text forKey:@"debut"]; 
[newJournee setValue:_displayEnd.text forKey:@"fin"]; 

Hope this help.

Cuestiones relacionadas