2

是否可以从 Core Data 创建的 Z_PK 列中获取数字?如果是这样,您是否会像获取在模型中手动创建的属性一样获取此列?

4

3 回答 3

6

z_pk 不是您可以像其他任何其他属性一样获取的属性。您可以做的是从managedObjectID您的实体中提取 z_pk 值

可以使用 获取 managedObjectID [self objectID]。对于这个例子,我们采用这个:

   <x-coredata://03C5C895-3245-4D0F-8B6B-7758582AE16B/<your-Entity>/p5>

最后p5 是z_pk。(对于这个商店,对于这个实体,在这个时候。它可以改变)

不知道你需要 z_pk 做什么,也不知道是什么格式。让我们将其managedObjectID转换为字符串:

   NSString *aString = [[[self objectID] URIRepresentation] absoluteString];

从字符串中提取5

   NSArray *theComponents = [aString componentsSeparatedByString:@"/p"];
   NSInteger theZpk = [[theComponents lastObject] intValue];

现在你有了 z_pkint并且可以随意处理它。

于 2013-06-22T07:34:06.693 回答
3

您可以使用 sqlite 直接访问 CoreData 创建的列。

但是,您不应依赖 Z_PK 或任何列来保持一致。架构可能会在版本之间更改(并且已经更改)。Apple 在 WWDC 视频中已经说明了这一点。

于 2013-06-20T15:42:03.573 回答
0

ios 从 sqlite coredata 读取 z_pk

请参阅此链接以了解更多信息。据我所知,我们无法从核心数据中获取 Z-PK。但是你可以通过保存像sqlite文件这样的核心数据文件来知道它,你可以通过查询来检查它。

于 2013-06-20T15:40:38.850 回答