我正在实施一个新的iPhone应用程序,对整个Cocoa开发来说相对较新。我正处于选择此应用程序的持久层如何工作的阶段,看起来我基本上在Core Data和sqlite3之间进行选择。
此应用程序中的持久化模型旨在具有在运行时加载的模式(来自某种defn文件,可能是XML)。我的意思是,这个应用程序的目的是在某种程度上具有用户可定义的对象,例如:可以修改客户类型(具有某些内置字段,如“名称”和“电子邮件”),以根据用户的特定需求添加额外字段(例如,用户可能希望向其客户添加“最喜欢的水果”字段类型)。
话虽如此,Core Data是否适用于具有非烘焙数据模型的应用?我刚刚开始在XCode中使用Core Data对象设计器的东西,看起来这个东西想要处理具有已编译的固定字段的对象。
我肯定试图在这里采取阻力最小的路径,我可以看到使用Apple提供的数据框架的好处,但是如果要将我锁定为在编译时定义的数据模型。
答案 0 :(得分:2)
核心数据数据模型需要在编译时定义,但这并不意味着您不能允许最终用户添加和使用自定义字段。
这只是意味着您要为自定义字段定义实体并将字段创建为对象。
最好设计一个满足您需求的数据模型,而不是考虑如何在SQL中解决问题。