Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone coredata是最好的?_Iphone_Ipad_Core Data - Fatal编程技术网

Iphone coredata是最好的?

Iphone coredata是最好的?,iphone,ipad,core-data,Iphone,Ipad,Core Data,coredata比FMDB好?我们可以在coredata中维护主键吗?或任何其他方法 要在核心数据中实现而不是使用primarykey?请提供任何教程?我不认为这两件事是有意义的。FMDB只是原生SQLite API的包装器,CoreData是一个对象持久性框架,SQLite是其中一种可能的持久性存储类型 查看Apple的CoreData编程指南: 以及在Mac上使用CoreData进行开发的指南: 但是CoreData不提供主键uniquing,通常由应用程序代码处理uniquing。FM

coredata比FMDB好?我们可以在coredata中维护主键吗?或任何其他方法
要在核心数据中实现而不是使用primarykey?请提供任何教程?

我不认为这两件事是有意义的。FMDB只是原生SQLite API的包装器,CoreData是一个对象持久性框架,SQLite是其中一种可能的持久性存储类型

查看Apple的CoreData编程指南:

以及在Mac上使用CoreData进行开发的指南:


但是CoreData不提供主键uniquing,通常由应用程序代码处理uniquing。FMDB,甚至本机SQLite API可能更适合您,具体取决于您的具体需求。

核心数据的Uniquing由对象图本身处理。根据定义,每个对象和每个关系都是唯一的。NSManagedObject的每个实例都是唯一的,因为CoreData将在SQLite表中管理自己的主键。但是,CoreData不采取任何步骤来确保对象实际上是不同的。也就是说,假设您有一个具有memberId或emailAddress的实体,您可能希望基于其中一个属性进行唯一化,并且CoreData中没有内置的工具来实现这一点。Core数据不需要主键,因为它不是SQL数据库,而是一个对象图管理系统。根据定义,每个对象实例都是唯一的,并且在图形中占据唯一的位置,将其定义为绝对唯一。如果您试图用SQL术语来考虑核心数据,您会感到悲伤。