2012-06-19 150 views
1

它更多的是一种最佳实践。这里有云......使用核心数据生成的类作为模型对象...?

我已经自动生成了一些类我的核心数据实体,现在我想用它们作为模型对象,这些模型转换成JSON,并将其发送到服务器。所以我的问题是,它是否是确定使用这些类或我应该创建单独的类,并使用数据映射类映射这些核心数据和模型类...

这是一个更好的办法,为什么......?

感谢您的投入...

回答

5

您可以使用您NSManagedObject子类,并就像任何其他NSObject类方法添加到这些类。这是完全可以接受的(并且会比创建单独的对象类和使用数据映射器更好)。

+3

我想除了你的答案要指出的是,由于该Xcode中覆盖生成的子类的文件,你应该产生他们不止一次的汽车,最好是通过单独的实现文件的类别来扩展你的NSManagedObject子类的事实。 – svena

+0

这是一个上下文的要点,以跟踪所有的对象。你不应该试图从外部做到这一点。如果您对更改不满意,则始终可以在不保存的情况下抛出上下文,也可以回滚到上次保存的状态,也可以使用撤消管理器撤消整组更改。上下文有助于你,而不是阻碍。 – svena

+0

@svena你根本不需要从Xcode生成类。我通常生成一次,然后如果我必须添加一个属性到模型,我只是手动输入属性到NSManagedObject子类。这不需要再花时间来重新生成课程。 –

0

使用mogen,以避免@svena提到的问题。它将自动管理核心数据模型的生成,以防止覆盖自己的代码。另外我会建议尝试RestKit服务器交互。至少你可以借用他们的对象序列化代码,因为它确实是你想要的。