Tôi đang cố gắng viết một hệ thống yêu thích cho ứng dụng của mình. Tôi đã chuyển đổi mô hình của mình thành một đối tượng được quản lý. Vì vậy, hãy tưởng tượng người dùng được trình bày một màn hình với một danh sách các đối tượng như vậy. Họ có thể chọn để lưu một số mục yêu thích của họ, điều này sẽ tiếp tục tồn tại trong dữ liệu cốt lõi.Dữ liệu cốt lõi: Tạo nhiều đối tượng được quản lý, nhưng chỉ lưu một số đối tượng?
Vấn đề là, khi tôi tạo tất cả các đối tượng mô hình này, tôi làm như vậy với bối cảnh đối tượng được quản lý. Nếu người dùng lưu một đĩa đơn vào mục yêu thích của họ, nó sẽ lưu toàn bộ ngữ cảnh và duy trì mọi thực thể đơn lẻ. Các tính năng bổ sung sẽ không có trong mục yêu thích của chúng, vì việc thêm vào mục yêu thích sẽ tạo một thực thể "yêu thích" được lưu và trỏ tới đối tượng mà những người khác sẽ không có. Nhưng tất cả các vật thể khác sẽ được cứu một cách không cần thiết.
Cách tiêu chuẩn trong cách này/tiêu chuẩn để thiết kế hệ thống yêu thích trên iPhone là gì? Tôi có nên tách mô hình của mình thành hai lớp, mô hình mà tôi hiển thị cho người dùng không, và sau đó một mô hình lưu vào db? Bằng cách đó tôi có thể xây dựng mô hình của mình mà không cần đưa chúng vào MOC. Nhưng đó sẽ là một lớp trùng lặp với tất cả các trường giống nhau.
Và điều này có an toàn không? Tôi thấy rằng phương pháp tiện lợi để xây dựng các NSMO thay thế một đoạn mã khá lớn. – Tesserex
Có an toàn không, phương pháp tiện lợi nào? Phương pháp tôi mô tả giống như gọi '[NSEntityDescription insert ...]'. Sự khác biệt duy nhất là phương thức 'NSEntityDescription' trả về một đối tượng autoreleased. –
Ok, bạn chỉ có điều thứ hai của bạn lạc hậu. Cuộc gọi chính xác là '[[self managedObjectContext] addObject: object]', trò chuyện mà bạn có ở đó không tồn tại. – Tesserex