Vui lòng tham khảo Hướng dẫn lập trình Core Data, hoặc xem dưới đây (sao chép từ PG):
" Làm thế nào để khởi tạo một cửa hàng với dữ liệu mặc định
Có hai vấn đề ở đây: tạo dữ liệu, và đảm bảo dữ liệu được nhập khẩu chỉ một lần. có một số cách để tạo ra các dữ liệu.
Bạn có thể tạo một cửa hàng khăng khăng riêng biệt có chứa các mặc định dữ liệu và bao gồm cửa hàng dưới dạng tài nguyên ứng dụng. Khi bạn muốn để sử dụng nó, bạn phải sao chép toàn bộ cửa hàng đến vị trí thích hợp hoặc sao chép các đối tượng từ các giá trị mặc định vào một cửa hàng hiện tại . Đối với các tập dữ liệu nhỏ, bạn có thể tạo các đối tượng được quản lý trực tiếp trong mã.
Bạn có thể tạo một danh sách-hay tài sản một số tập tin dựa trên đại diện-của dữ liệu, và lưu nó như một nguồn tài nguyên ứng dụng khác. Khi bạn muốn sử dụng nó, bạn phải mở tệp và phân tích biểu diễn để tạo các đối tượng được quản lý.
Bạn không nên sử dụng kỹ thuật này trên iOS và chỉ khi thực sự cần thiết trên Mac OS X. Phân tích tệp để tạo cửa hàng phát sinh chi phí không cần thiết. Tốt hơn hết là bạn nên tự tạo kho lưu trữ dữ liệu lõi và sử dụng nó trực tiếp trong ứng dụng của mình. Ngoài ra còn có một số cách để đảm bảo rằng giá trị mặc định được nhập khẩu một lần duy nhất:
Nếu bạn đang sử dụng iOS hoặc tạo ra một ứng dụng không dựa trên tài liệu cho Mac OS X, bạn có thể thêm một kiểm tra về ứng dụng khởi chạy để xác định liệu tệp có tồn tại ở vị trí bạn chỉ định cho cửa hàng của ứng dụng hay không. Nếu không, bạn cần phải nhập dữ liệu. Đối với ví dụ dựa trên iOS, hãy xem CoreDataBooks.
Nếu bạn đang tạo một ứng dụng dựa trên tài liệu bằng cách sử dụng NSPersistentDocument, bạn khởi tạo các giá trị mặc định trong initWithType: error :.
Nếu có một khả năng rằng các cửa hàng (vì thế tập tin) có thể là tạo nhưng dữ liệu không được nhập, sau đó bạn có thể thêm một siêu dữ liệu cờ đến cửa hàng. Bạn có thể kiểm tra siêu dữ liệu (sử dụng metadataForPersistentStoreWithURL: error :) hiệu quả hơn thực hiện tìm nạp (và nó không yêu cầu bạn phải mã cứng bất kỳ giá trị dữ liệu mặc định).
"
Như đã đề cập ở trên, nhìn chung chúng ta cần tạo một cửa hàng mặc định được phổ biến trước với mã, sau đó sử dụng nó như là một tập tin tài nguyên, và sao chép nó từ bó nguồn tài liệu thư mục nếu Hãy tìm kiếm ví dụ mã CoreDataBooks trong Xcode Organizer (hoặc Trung tâm phát triển của Apple), và xem phương thức persistentStoreCoordinator - (NSPersistentStoreCoordinator *) persistentStoreCoordinator
Đây là câu trả lời khá cũ. Điều này vẫn đúng? Tôi sẽ không viết thư cho cơ sở dữ liệu được chuẩn bị sẵn, tôi có thể đọc trực tiếp từ tài nguyên không? – Suragch