2011-11-10 31 views
50

Tôi đã tạo một dự án dữ liệu không lõi. Bây giờ tôi muốn sử dụng dữ liệu cốt lõi. Trong các giai đoạn xây dựng, tôi liên kết nhị phân của tôi với CoreData.framework. Trong phương pháp đại biểu ứng dụng của tôi, tôi muốn tự tạo ra một bối cảnh đối tượng được quản lý như vậyKhông thể tạo ngữ cảnh đối tượng được quản lý trên iOS

NSManagedObjectContext *aContext = [[NSManagedObjectContext alloc] init]; 

Khi tôi ở trên, tôi nhận được lỗi sau,

Receiver 'NSManagedObjectContext' for class message is a forward declaration. 

Mọi góp ý về những gì tôi có thể làm sai?

+13

Bạn đã bao gồm #import trong tiêu đề của đại biểu ứng dụng của bạn chưa? – isaac

+6

Cảm ơn bạn đã làm việc. Một giải pháp tốt hơn là đặt nó vào tệp 'prefix.pch'. – David

+0

Ngoài ra, hãy cảnh giác với việc sử dụng một lớp được gọi là tin nhắn. Điều này sẽ xung đột với các lớp khác trong iOS. Tôi đã có điều này ảnh hưởng đến tôi trước đây. – Fogmeister

Trả lời

126

Bạn cần phải nhập khẩu CoreData/CoreData.h trong tập tin tiêu đề đại biểu ứng dụng của bạn:

#import <CoreData/CoreData.h> 

Vì bạn có thể sử dụng nó thông qua ứng dụng outyour bạn nên đặt nó trong file header precompiled, yourapp-Prefix.pch :

#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
    #import <CoreData/CoreData.h> 
#endif 
+5

Nếu ứng dụng của bạn sử dụng Dữ liệu cốt lõi trong suốt, bạn cũng có thể thêm cùng một dòng vào tệp YourAppName-Prefix.pch trong thư mục Hỗ trợ tệp của dự án của bạn. – robotpukeko

6

Chỉ cần viết #import < CoreData/CoreData.h> trong tệp triển khai của bạn. Nó sẽ hoạt động

Các vấn đề liên quan