2009-06-20 10 views
5

Tôi có thể tạo DataModel, Entities và Properties. Làm cách nào để tạo DB? Tôi có phải tạo nó theo cách thủ công để đảm bảo rằng tất cả các thuộc tính và thực thể được ánh xạ không?Cách kết nối hoặc tạo Sqlite DB với mô hình dữ liệu lõi trong iPhone

tôi đang theo mẫu Công thức cốt lõi dữ liệu và đã nhận thấy một phương pháp trong RecipesAppDelegate.m:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator { 
} 

tôi có thể thấy một tham chiếu đến tập tin DB đây.

+0

Nếu bạn muốn một cách dễ dàng để xem hoặc quản lý SQLite Db của mình, bạn có thể sử dụng plugin firefox [this] (https://addons.mozilla.org/en-US/firefox/addon/5817). Nó khá đầy đủ tính năng và giá cả là đúng, miễn phí. – OhioDude

+0

Điều gì về việc điền trước cơ sở dữ liệu? Nó sẽ là tốt nhất để liên kết các nguồn SQL với quá trình xây dựng? Đối với một kho dữ liệu lớn, điều này có vẻ giống như một tùy chọn không hấp dẫn (phải xây dựng lại mỗi lần). – Dylan

Trả lời

5

Khi bạn tạo điều phối viên lưu trữ liên tục, nếu bạn đang sử dụng loại lưu trữ liên tục SQLite, điều phối viên sẽ tự động tạo cơ sở dữ liệu cho bạn nếu nó chưa tồn tại. Bạn không phải tự tạo tệp lưu trữ.

EDIT: để làm rõ, điều duy nhất bạn nên sửa đổi là tệp Mô hình đối tượng dữ liệu lõi (.xcdatamodel). Một đối tượng NSPersistentStoreCoordinator, khi nó được tạo bằng một tệp lưu trữ hoặc phương thức addPersistentStore: được gọi trên nó, sẽ làm tất cả thiết lập cần thiết của cửa hàng sao lưu. Điều này bao gồm việc tạo tệp, bất kỳ bảng nào có thể chứa, v.v.

Tạo hoặc sửa đổi bất kỳ loại lưu trữ liên tục nào (đặc biệt là cửa hàng SQLite) hoàn toàn không được SDK và khung dữ liệu cốt lõi hỗ trợ hoàn toàn.

+0

Bạn muốn tạo phương thức ở trên và mã sẽ tạo tệp? Điều gì về các bảng và cột trong cơ sở dữ liệu? – Picflight

+0

Đó là tất cả được chăm sóc bởi các đồ thị đối tượng bạn thiết kế trong mô hình dữ liệu của bạn. Điều phối viên lưu trữ liên tục sẽ đọc điều đó từ mô hình đối tượng được quản lý của bạn và sửa đổi trực tiếp bảng SQLite của nó. Trên thực tế, Hướng dẫn lập trình dữ liệu cốt lõi của Apple cấm bạn giao tiếp trực tiếp với cửa hàng SQLite. – Tim