2013-01-10 40 views
10

Gần đây, tôi bắt đầu làm việc trên dữ liệu cốt lõi, vui lòng cho tôi biết sự khác biệt giữa dữ liệu biến đổi và nhị phân. Tôi cần lưu trữ myClassObject trong dữ liệu cốt lõi. Tôi đã tạo ra các thuộc tính và xác định loại của nó như là dữ liệu nhị phân, nhưng tại thời điểm lưu trữ tôi nhận được lỗi.Sự khác biệt giữa dữ liệu có thể biến đổi và nhị phân là gì

+1

Bạn gặp phải lỗi gì? Bạn sẽ lưu trữ loại dữ liệu nào trong thuộc tính đó? (Tôi có nghĩa là quan điểm kinh doanh của dữ liệu, không phải là kiểu dữ liệu chính thức). –

+1

Điều này có hữu ích không? http://stackoverflow.com/questions/3014498/what-can-i-do-with-an-transformable-attribute-type-in-core-data-on-the-iphone – trojanfoe

Trả lời

20

Với thuộc tính nhị phân, bạn đọc và ghi các phiên bản NSData trực tiếp.

Với thuộc tính có thể biến đổi, bạn đọc và ghi các phiên bản của bất kỳ lớp nào có thể được chuyển đổi thành và từ NSData. Lưu trữ dữ liệu thực tế giống với thuộc tính nhị phân, nhưng Dữ liệu cốt lõi sử dụng NSValueTransformer để chuyển đổi thành/từ NSData khi cần thiết. Ví dụ:

Ví dụ: giả sử đối tượng được quản lý của bạn có thuộc tính hình ảnh ở đó thuận tiện để đọc và viết trực tiếp UIImage. Ngoại trừ, UIImage không thể lưu trong Dữ liệu chính. Nhưng UIImage có thể được chuyển đổi thành và từ NSData. Vì vậy, nếu bạn đã sử dụng thuộc tính có thể biến đổi, bạn có thể đọc và viết UIImage trong khi vẫn giữ NSData trong kho dữ liệu.

+0

Tom, Dữ liệu có thể biến đổi sẽ giữ lại cùng một hành vi NSData liên quan đến lưu trữ bên ngoài? (mặc dù, cho phép lưu trữ bên ngoài không rõ ràng trong giao diện người dùng, hoặc các đốm màu sẽ bắt đầu xuất hiện trên Kho dữ liệu chính)? Tài liệu không chỉ rõ rằng thuộc tính biến đổi sẽ được lưu vào một bản ghi bên ngoài hoặc các quy tắc sẽ được áp dụng. Bạn có thể chia sẻ kinh nghiệm của bạn không? –

+0

Chính xác tôi có cùng một câu hỏi. Không có tùy chọn như vậy trong loại thuộc tính biến đổi được lưu trữ trong "Bộ nhớ ngoài". Đây có phải là mặc định bật hoặc những gì? –

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