我有一个视图叫做Cart
. 它显示一个Item
s 表。这些Item
s 需要持久化,所以Item
子类 NSManagedObject;id
像,等值price
是其访问器的属性,@dynamic
因此它们是自动生成的。
我有另一种观点叫做Favorites
. 它显示一个Item
s 表,但它们不需要持久化。事实上,只要用户使用不同的凭据登录,此视图就会发生变化。
这两个视图之间的联系是用户可以从他的收藏夹中将项目添加到他的购物车中。购物车可以存储Item
来自不同Favorites
列表的 s。Favorites
将商品添加到购物车时,列表不会更改。
最初,我将Favorites
视图模型设为 NSDictionary 对象的 NSArray。当用户将商品添加到他的购物车时,我从 NSDictionary 键值对创建并保存在 Core Data 中的商品。这种方法看起来不是很干净或很干燥。Favorites
让视图的模型成为Item
s的 NSArray不是更有意义吗?
所以现在我的意图是实现这个Item
类,以便它代表核心数据模型(NSManagedObject),但也可以与Favorites
视图一起使用。作为 Objective-C 和 iOS 开发的新手,我真的不知道这将如何工作或看起来如何。似乎我需要覆盖为我神奇地创建的访问器,但我不能在编译时使用super
调用来调用它们......谁能给我一个粗略的轮廓,说明它何时知道返回 NSDictionary 数据还是核心数据数据?如果它是 Core Data 数据,我如何保持与神奇生成的访问器相同的效率水平?
更好的是,是否有更好的实现方式与 DRY 一样或更有意义?还是我试图将太多的功能组合到一个类中?在这种情况下,NSDictionary 对象的 NSArray 是最好的方法吗?