Tôi đang có một số suy nghĩ về cách sử dụng một số lớp con NSManagedObject của dữ liệu cốt lõi để xử lý dữ liệu liên tục và dữ liệu không liên tục.Sử dụng lớp con NSManagedObject để truyền dữ liệu liên tục và không liên tục
Giả sử bạn có ứng dụng công thức hiển thị danh sách công thức nấu ăn của riêng bạn từ CoreData và trong cùng ứng dụng này, bạn cũng có thể tìm kiếm công thức nấu ăn của người dùng khác. Những công thức nấu ăn của người dùng khác tất nhiên là từ một API và chúng tôi không muốn lưu chúng vào dữ liệu cốt lõi. Nhưng những gì chúng tôi muốn thay vào đó là chi tiết công thức của chúng tôi Xem điều khiển để hành động giống nhau hoặc nó được đưa ra một công thức liên tục hoặc một công thức không liên tục. Tôi tự nhiên nghĩ rằng chúng ta nên sử dụng cùng một wrapper đối tượng xung quanh dữ liệu của chúng tôi và để cho View Controller của chúng ta bị mù trên nguồn gốc của dữ liệu.
Vấn đề là lớp con NSManagedObject không thể được khởi tạo thủ công và phải được chèn vào ngữ cảnh. Điều đó không tốt cho công thức nấu ăn của người dùng khác của chúng tôi. Mặt khác cho công thức nấu ăn của riêng chúng ta, chúng ta cần những vật thể này được chèn vào trong ngữ cảnh.
Tôi có một vài giải pháp trong đầu nhưng tôi thực sự muốn đọc những gì các bạn nghĩ về vấn đề này.
Bạn có thể nói rằng đây là một số vấn đề triển khai và cần được giải quyết bằng cách gói cả hai đối tượng dữ liệu vào một đối tượng duy nhất? Ví dụ bằng cách ghi đè tất cả các getters và setters để xử lý cả hai đối tượng coredata và các đối tượng NSDictionary?
Hoặc nó là một vấn đề kiến trúc, và bạn sẽ giải quyết nó bằng cách ví dụ lồng NSManagedContext, hoặc sử dụng nhiều cửa hàng liên tục (một trong bộ nhớ và một Sqlite khác)?
Điều đó rất thú vị! Cảm ơn bạn đã chỉ ra điều đó. –
Bạn không thể có mối quan hệ giữa các đối tượng không được chèn vào ngữ cảnh theo như tôi biết. – svena
Chắc chắn. Nhưng điều đó không phải lúc nào cũng quan trọng. –