2012-01-24 4 views
9

Tôi đang cố gắng có một Dữ liệu cốt lõi rất đơn giản. Tôi có một ViewController.h như thế này:Sự cố Tên loại không xác định 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 

và ViewController.m như thế:

#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"];  

}

Nhưng khi tạo newJournee, tôi có một báo động đỏ "tên loại Unknow 'NSManagedObject', ý của bạn là NSManagedObjectModel? " ??? Đó là dữ liệu cốt lõi đầu tiên của tôi vì vậy tôi chắc chắn đã bỏ lỡ điều gì đó hiển nhiên đối với bạn ... nhưng không phải với tôi! Cứu giúp !

+1

có vẻ như bạn đã bỏ lỡ #import –

+5

Có, bạn đã đúng! Thêm #import ngay từ đầu đã sửa nó! Cảm ơn ! –

Trả lời

5

vẻ như bạn đã bỏ lỡ một #import

+0

Có vấn đề tương tự với việc nhập - Prefix.pch -> // // Đầu đề tiền tố // // Nội dung của tệp này được bao gồm ngầm ở đầu mỗi tệp nguồn. // #import #ifndef __IPHONE_5_0 #warning "Dự án này sử dụng các tính năng chỉ khả dụng trong iOS SDK 5.0 trở lên". #endif #ifdef __OBJC__ #import #import #import #endif –

18

thêm CoreData.framework và nhập khẩu như dưới đây

#import <CoreData/CoreData.h> 

hy vọng nó sẽ giúp ~

0

Đừng lo lắng. Mọi thứ có vẻ tốt đẹp ..

Chỉ cần làm một việc..Goto tệp ViewController.m của bạn và thêm dòng này.

#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"]; 

Hy vọng điều này sẽ hữu ích.