Tôi đang gặp một số vấn đề về răng cưa với coredata, nhưng cảm thấy nó sẽ làm rõ mọi thứ cho tôi nếu ai đó có thể giải thích một số trường hợp đơn giản với tôi.Làm thế nào để lưu trữ CGRect và những thứ khác trong dữ liệu chính
Tôi muốn đặt mô hình của mình vào coredata và tại một trường hợp đơn giản nhất tận dụng lợi thế của việc hoàn tác/làm lại. Thing là, tất cả các ví dụ tôi thấy có xu hướng lưu trữ hoặc chuỗi hoặc số nguyên. Nếu tôi có một lớp như sau mà tôi muốn thực hiện trong dữ liệu cốt lõi (một tạo thành ví dụ):
@interface Badge : NSObject {
NSString *textForBadge;
int badgeValue;
UIColor *color;
CGRect rect;
NSMutableArray *awards; // this would be a list of 'Category' - another custom class
}
Đây là tất cả tạo thành ngay tại chỗ, nhưng mỗi làm nổi bật một sự nhầm lẫn
Như tôi đã thấy, tôi sẽ mở tệp .xcdatamodel và thêm một đối tượng mới được tạo 'Huy hiệu', đây sẽ là NSManagedObject
. Sau đó, tôi thêm thuộc tính cho textForBadge
thuộc loại String
. Càng xa càng tốt. Tôi làm một cái gì đó tương tự cho badgeValue, nhưng sau đó đến các UIColor
và CGRect
và tôi là một chút stumped, vì không có một tài sản cho những người. Tôi có phải tạo một thực thể để đại diện cho mỗi thực thể (tức là một thực thể Rect
có bốn thuộc tính x,y,w,h
) là ints? Sau đó, cư một CGRect với những ints mỗi lần? Ditto cho UIColor?
Cuối cùng, tôi truy cập danh sách của mình là awards
. Nếu đây là danh sách các con trỏ tới một số đối tượng đại diện cho giải thưởng, chúng có thể chứa hình ảnh, màu sắc, văn bản, v.v. Tôi giả định rằng award
một lần nữa sẽ là một thực thể tôi phải thiết kế và thay vì Badge
mối quan hệ 1 đến nhiều từ nó đến lớp Award
.
Tôi có nhận được bất kỳ quyền nào trong số này hoặc đi theo hướng ngược lại cạnh tranh không? Tất cả các ví dụ tôi thấy hoạt động trên các đối tượng vani như String hoặc int vì vậy muốn chắc chắn rằng tôi có quyền này trong đầu của tôi trước khi thực hiện một loạt các công cụ.
Trân trọng!
Bryn
Liên kết bạn tham chiếu ở đây đã chết. @AndrewMadsen –