我正在设计我的第一个项目,使用核心数据(用于iPhone)和我有一些问题可能与我的设计方法有关。核心数据:设计问题。对象包装还是不对?
我正在做一个应用程序,允许用户创建一个订单(让我们说一个餐馆)。 我正在使用图形设计器来建模我的持久对象(即OrdeMO)。我将MO添加到每个名称的首字母以指示其托管对象。 我使用XCode自动创建托管对象类。
我创建了一些“DAO”类,允许您在托管上下文中搜索或创建新对象。
现在我的问题。
我想创建一个OrderMO对象来存储用户正在创建的订单,但我不希望它成为上下文的一部分,直到用户实际放置它。 我试图用[OrderMO alloc]创建对象,但我得到的对象是“不完整”,当我尝试设置它的任何属性时,我得到一个错误。
我假设问题是我需要在上下文中创建订单才能使用它。是这样吗?
我已经考虑了各种选择:
创建上下文对象和用户回滚如果用户丢弃的顺序。问题在于用户可能在过程中保存其他上下文对象(如他的首选项),因此这不起作用。有没有办法在各种类型的“独立事务中”创建对象?
创建一个包装对象,它将保存与MO相同的数据,然后只在用户下订单时创建MO。这个缺点是我必须保持一个新班级。
在MO中创建一个属性,例如“放置”,并用于在上下文中过滤我的搜索。这一个问题是,我将结束在域“垃圾”对象(即未放置的订单),我将不得不时不时地做一些清理...
难道我有什么其他选择?
任何建议表示赞赏。
感谢(阅读这篇很长的帖子!) Gonso