2010-07-28 6 views
11

Tôi đang gặp khó khăn khi hiểu cách dữ liệu cốt lõi hoạt động theo khái niệm và về mặt mã.Bắt đầu với Dữ liệu chính

Tôi nhận được rằng có một điều phối viên và một ngữ cảnh. Tôi cũng nhận được rằng có quản lý nhà nước. Làm thế nào để họ làm việc cùng nhau?

Tôi không hiểu cách tôi có thể lưu trữ, ví dụ, hình ảnh và một vài chuỗi làm đối tượng.

Giả sử tôi muốn truy xuất hình ảnh và các chuỗi sau. Tôi làm gì?

Tôi có thể lưu trạng thái của mình ở đâu? Làm sao?

Mã của tôi trông như thế nào? Tôi thực sự sẽ đánh giá cao một mẫu mã xương trần ở đây, bởi vì tôi thực sự bối rối.

Trả lời

25

Đây là một số các hướng dẫn tốt nhất mà tôi đã tìm thấy:

Đối với quesstions của bạn:

Tôi nhận được rằng có một điều phối viên và một ngữ cảnh. Tôi cũng nhận được rằng có quản lý nhà nước. Làm thế nào để họ làm việc với nhau?

Điều phối viên lưu trữ liên tục là thứ quản lý dữ liệu của bạn thực sự được lưu trữ, đó là một SQLlite DB hoặc tệp XML hoặc bất kỳ thứ gì. Điều phối viên là trừu tượng, do đó bạn không phải lo lắng về loại lưu trữ nào trong phần phụ trợ.

Ngữ cảnh đối tượng được quản lý là cách bạn tương tác với Điều phối viên cửa hàng liên tục. Hãy nghĩ về nó như là miếng đệm đầu của bạn. Bạn tạo và sửa đổi các đối tượng được quản lý từ ngữ cảnh đối tượng được quản lý.

Tôi không hiểu cách tôi có thể lưu trữ, ví dụ, hình ảnh và một vài chuỗi làm đối tượng. Giả sử tôi muốn truy xuất hình ảnh và các chuỗi sau. Tôi làm gì?

Nếu bạn xem qua một số hướng dẫn ở trên, bạn sẽ thấy cách kéo đối tượng ra ngoài ngữ cảnh đối tượng được quản lý. Một NSString chỉ đơn giản là sẽ được lưu trữ như một thuộc tính chuỗi trên một đối tượng quản lý, như vậy:

[managedObject setValue:@"TestString" forKey:@"SomeStringProperty"]; 

Tôi không hoàn toàn chắc chắn về những hình ảnh như tôi đã không bao giờ được lưu giữ một hình ảnh trong Core Data trước.Tôi biết bất cứ điều gì có thể được serialized có thể được lưu trữ như là một thuộc tính biến đổi. Here's a post about storing UIImages in Core Data

Tôi có thể lưu trạng thái của mình ở đâu? Làm sao?

Bạn chỉ cần gọi phương thức 'lưu' trên ngữ cảnh đối tượng được quản lý của bạn. Giống như vậy:

[context save:&error] 
+2

Bạn có thể lưu trữ các đối tượng NSData trong Dữ liệu cốt lõi, để lưu hình ảnh, lấy dữ liệu đó (có thể sử dụng UIImagePNGRepresentation()) và lưu trữ. Để truy xuất hình ảnh, hãy lấy đối tượng NSData từ Dữ liệu cốt lõi và sau đó sử dụng phương thức + imageWithData của UIImage để lấy một UIImage. –

+0

Ah ... Ray Wenderlich - Anh ấy có một trang web tốt. – Moshe

+0

Hướng dẫn thứ hai mà bạn đã liên kết sẽ quay trở lại với Yêu cầu Lỗi 400 tại thời điểm viết nhận xét này. – BinaryMisfit