2010-09-18 33 views
5

Tôi đã có một ứng dụng bằng cách sử dụng CoreData làm cơ chế lưu trữ dữ liệu và ứng dụng cần một số dữ liệu ban đầu được định cấu hình. Có bất kỳ khuyến nghị/bạn/bạn đang làm gì để thiết lập dữ liệu ban đầu?Làm cách nào để thiết lập cấu hình dữ liệu ban đầu với CoreData?

Hiện nay tôi đang làm việc đó theo cách sau (khi ứng dụng bắt đầu lần 1):

SomeEntity *newEntity=[NSEntityDescription insertNewObjectForEntityForName:@"SomeEntity" inManagedObjectContext:context]; 
[newEntity setCode:@"a-code"]; 
[newEntity setName:@"a-name"]; 
... 
[context save:nil]; 

tôi không thích cách tiếp cận này cho 2 lý do:
1) nó rất nhàm chán và lỗi -trả lời nếu bạn cần nhiều hơn 10 thể hiện thực thể cho nhiều loại thực thể
2) có thể mất chút thời gian để khởi động ban đầu

Trong các ứng dụng trước bằng SQLite Tôi vừa liên kết cơ sở dữ liệu SQLite ban đầu của tôi ứng dụng và, nếu cần thiết để sửa đổi bất kỳ dữ liệu nào, hãy di chuyển databa se vào thư mục Documents. Có cách tiếp cận tương tự nào cho CoreData không?

Trả lời

6

Đó chính xác là những gì bạn sẽ làm với Dữ liệu cốt lõi. Sử dụng ứng dụng của bạn để tạo dữ liệu theo cách bạn muốn và sau đó tải xuống dữ liệu từ thiết bị. Bạn sẽ tìm thấy một tệp SQLite trong thư mục Documents (đây là vị trí mặc định). Thêm tệp SQLite vào dự án của bạn làm tài nguyên. Nó sẽ được sao chép cùng với ứng dụng của bạn.

Sau đó, tất cả những gì bạn cần làm là viết một số mã để xác định xem tệp đã tồn tại trong thư mục Tài liệu khi khởi động chưa. Nếu không, bạn có thể sao chép tệp từ gói ứng dụng của bạn vào thư mục Documents và Core Data sẽ mở tệp đó. Bạn chỉ muốn đảm bảo thực hiện điều này trước khi NSPersistentStoreCoordinator được thiết lập.

+0

Cảm ơn rất nhiều, nó đã làm việc cho tôi! – Arts

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