【问题标题】:How do I get the value an NSManagedObjectID was created from如何获取创建 NSManagedObjectID 的值
【发布时间】:2012-04-01 19:05:49
【问题描述】:

假设[managedObjectID URIRepresentation] uri 是:

x-coredata://ABCDEF/Post/p1234567

一开始,我以为我可以使用[[objectID URIRepresentation] lastPathComponent],但这会返回

p1234567

而不仅仅是1234567。我可以切掉 p,但这似乎不是正确的做事方式。有没有更好的办法?

【问题讨论】:

  • 现在我将使用[[[managedObjectID URIRepresentation] lastPathComponent] substringFromIndex:1]
  • 你想做什么?托管对象 ID 的 URI 表示只意味着存储在某处并传递给 NSPersistentStoreCoordinatormanagedObjectIDForURIRepresentation 方法以再次获取 NSManagedObjectID。这可用于查询 this 引用的实际对象。该 URI 字符串的任何部分本身都是没有意义的,即使它恰好看起来像来自模型对象的信息。

标签: iphone objective-c ios ipad core-data


【解决方案1】:

没有公共 API 可以获取该值。 NSManagedObjectID 的结构取决于生成它的持久存储类型(SQLite、XML 等)。

我也很好奇你为什么需要它,因为它实际上不可能只使用那个数字来查询托管对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2021-02-11
    • 2021-04-21
    • 2019-09-05
    • 1970-01-01
    • 2011-11-07
    • 2016-10-27
    相关资源
    最近更新 更多