草庐IT

CoreData

全部标签

ios - 当使用 NSPredicate MATCHES 获取 CoreData 实体时,用户输入的键会破坏正则表达式

我们使用下面的NSPredicate从CoreData中获取实体:[NSPredicatepredicateWithFormat:@"nameMATCHES[cd]%@",[NSStringstringWithFormat:@"^%@.*|.*[-\\s.@]%@.*",userInputtedKey,userInputtedKey]];例如,如果userInputtedKey仅包含字母和数字,则一切顺利。但是,如果userInputtedKey本身包含正则表达式的保留符号,那么,匹配将失败甚至崩溃。例如userInputtedKey为@"("会导致崩溃:***Terminatinga

ios - 根据 coredata 中的属性名称获取唯一对象

我在核心数据中有实体employee_detailname|rate|factor|_______|______|________|John|3.2|4|Betty|5.5|7|Betty|2.1|2|Betty|3.1|2|Edward|4.5|5|John|2.3|4|我想要基于属性名称的唯一对象O/P应该是name|rate|factor|_______|______|________|John|3.2|4|Betty|5.5|7|Edward|4.5|5| 最佳答案 NSFetchRequest*fetchRequest=[

ios - 为什么我的 NSFetchedResultsController 加载所有行?

我有一个NSFetchedResultsController用于在TableView(22117行)中显示数据。fetchRequest上的fetchBatchSize设置为20。它按预期工作:加载TableView时只有20行被完全填充。SQL语句:2015-06-1217:59:55.526BoulderFinder[2228:1220755]CoreData:sql:SELECT0,t0.Z_PKFROMZBOULDERt0ORDERBYt0.ZNORMALIZEDNAME2015-06-1217:59:55.533BoulderFinder[2228:1220755]CoreD

ios - CoreData 何时实际写入 sqlite 文件?

如果我的应用程序将我的对象保存到CoreData,我是否可以期望如果我关闭应用程序并从设备中提取sqlite文件,我可以立即在sqlite浏览器中看到我的对象?我在将对象保存到核心数据时遇到了一些问题,但如果我关闭应用程序并提取sqlite文件,我就看不到我刚刚创建的对象。谢谢 最佳答案 自iOS7发布以来,CoreData的默认配置使用多个文件:核心持久存储文件和两个日志文件。如果您的持久存储被命名为Foo.sqlite,则日志文件将为Foo.sqlite-wal和Foo.sqlite-shm。CoreData自动创建它们。在正常

ios - CoreData 相关问题?

我有一个关于CoreData的问题,我有这个.xcdatamodeld文件,它有2个实体,RCHTask和RCHTaskTypeRCHTask与RCHTaskType具有多对一关系RCHTaskType与RCHTask具有一对多关系我正在尝试获取具有特定任务类型的RCHTask实例但是我失败了我试过这个:-(NSArray*)returnTaskOfType:(NSString*)type{NSFetchRequest*request=[[NSFetchRequestalloc]init];NSEntityDescription*e=[NSEntityDescriptionentity

ios - 如何*跟踪* CoreData 中的对象计数

我想跟踪特定托管对象的数量。与NSFetchedResultsController的方式相同,只是我不需要返回任何数据,我只需要一个数字。最有效的方法是什么?作为旁注,显然我不想以最直接的方式使用NSFetchedResultsController,因为它会无缘无故地产生一堆错误和阻塞内存。我试图通过结合NSCountResultType和NSFetchedResultsController来实现这一点,但是在合并上下文时我遇到了一些奇怪的崩溃:NSError*error;autodefaultContext=[NSManagedObjectContextMR_defaultConte

ios - 如何与 Watch OS 2 共享数据以在使用 CoreData 时显示在 WKInterfaceTable 中

我正在使用WatchConnectivity尝试将名为arrayOfOjects的NSManagedObject类型的数据发送到Watch。每个object都有一个名为title的字符串属性。Watch上的InterfaceController加载并显示空表-因为数组是空的,所以当用户请求数据时,它会使用didReceiveMessage发送电话上的方法。我不确定如何将字典数组添加到objectsArray以显示在WKInterfaceTable中。有谁知道我如何将数据发送到watch以显示在表格中以进行更改并将它们同步回手机?苹果watch:classObjectsInterface

ios - 设置 CoreData NSManagedObjectContext 线程优先级

至少自iOS9以来,核心数据操作唯一未弃用的线程并发类型(不在主线程中运行)是NSPrivateQueueConcurrencyType。我现在的问题是,我想为此更改线程优先级,如下所示:...:(int)neededPriority{_queue=dispatch_queue_create("Worker",DISPATCH_QUEUE_SERIAL);dispatch_set_target_queue(_queue,dispatch_get_global_queue(neededPriority,0));有时我需要高优先级,有时低。但是当我调用[_privateContextper

iOS 在应用程序更新时更新 coreData

我目前正在为iOS应用程序设计架构,并且有一个关于使用coreData存储值的问题。理论我希望在coreData中存储与特定项目相关的值以及他们在使用某些功能时设置的特定用户信息。更新中当我发布更新时,应用程序将在每个实体内用新值更新旧值。我将在代码初始化之前使用一些版本检查来阻止每次加载时发生这种情况。问题当应用更新时,它会删除用户存储的所有值还是仅删除更新代码中引用的实体? 最佳答案 首先,CoreData有版本管理。只需添加新版本:其次,版本更新后,除非您删除该属性,否则CoreData不会删除存储的值。

ios - 当有 2 个部分时,从 CoreData 填充部分中的行数

在我的CoreData中,我有一个Person实体,每个Person可以有多个(对许多)Statement实体。报表实体有一个名为amountOwed的属性,它是一个十进制数。现在我的想法是遍历所有金额并将它们相加,如果它们是正数,则将它们添加到正数数组中,如果它们是负数,则将它们添加到该数组中。然后使用该数组计算出每个部分需要显示多少个单元格。我创建了一个fetchedResultsController并试图将它用于for循环foriin0..然后,我尝试在numberOfRowsInSection函数中使用这些数组,如下所示:functableView(_tableView:UIT