相关疑难解决方法(0)

CoreData:如何使用谓词获取特定对象

情况:

我从sqllite核心数据数据库中获取一个完整的表,并在TableView中显示如下:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyTable"
                                          inManagedObjectContext:managedObjectContext];
Run Code Online (Sandbox Code Playgroud)

挑战:

如何获取EntryID并从数据库中获取特定条目(例如,如果我点击一个条目)?我认为这是朝着正确的方向发展的?

NSPredicate *predicate = [NSPredicate predicateWithFormat: @"(id = %@)", myEntryID];
Run Code Online (Sandbox Code Playgroud)

iphone core-data objective-c

19
推荐指数
2
解决办法
2万
查看次数

删除应用程序时是否从设备中删除了Core Data数据库?

我看到Core Data出现错误,似乎表明当我从设备中删除应用程序时,旧数据库没有被删除.以下是我要采取的步骤:

  1. 从我的设备中删除应用程序(点击并按住应用程序,然后点击删除按钮).
  2. TestFlight安装应用程序.
  3. 运行应用程序.它启动并运行正常 - 直到它产生导致它崩溃的Core Data查询.崩溃的根本原因是'在实体中找不到keypath bar <NSSQLEntity Foo id = 3>'

现在,基于步骤3中所述的错误,似乎Foo上不存在'bar',而我的问题是Core Data模型.但是,相同的代码在模拟器上运行没有问题,甚至在通过Xcode连接时在设备上运行正常.(我已多次验证我在Xcode中使用的代码在模拟器和设备上运行的代码与我在TestFlight构建中的代码相同.)问题仅在通过TestFlight安装时才存在,但我看不到有理由将TestFlight归咎于我的问题.

对于我的团队中的另一个人,按照相同的步骤也会出现同样的问题,因此问题不是我的设备特有的.该应用程序未使用iCloud,MobileMe或任何其他同步功能.

当我从设备上删除应用程序时,是否删除了与核心数据相关的所有内容?Core Data删除或初始化行为是否会根据应用程序在设备上的安装方式而改变?

core-data ios

6
推荐指数
2
解决办法
4113
查看次数

在实体异常中找不到keypath objectID

在尝试在objectID之后获取一些对象时,我遇到了这个奇怪的问题.该错误抱怨没有objectID键路径,但托管对象应该响应.错误不会一直抛出,这让我觉得它可能是一个并发问题,虽然我已经仔细检查过,每个上下文都在自己的线程上执行操作.

这是谓词,虽然它看起来很明智: [NSPredicate predicateWithFormat:@"objectID == %@", book.objectID]

编辑:关于这个答案.我没有尝试使用对象本身,因为多线程的考虑,我需要使用objectID.

iphone cocoa core-data ipad ios

2
推荐指数
1
解决办法
2233
查看次数

标签 统计

core-data ×3

ios ×2

iphone ×2

cocoa ×1

ipad ×1

objective-c ×1