jjzjj

nsfetchrequest

全部标签

ios - 我可以设置 transient 属性来获取吗?

我想创建NSFetchRequest并将属性设置为像这样获取:request.propertiesToFetch=@[@"a",@"b",@"c"];其中a和b存储在CoreData数据库中,而c是transient的。executeFetchRequest:触发错误InvalidkeypathcpassedtosetPropertiesToFetch:。但是,如果我取消选中属性c的transient复选框,一切都会正常进行。那么是真的无法获取transient属性还是我做错了什么? 最佳答案 是的,这真的不可能。您无法获取它们,因

ios - NSFetchRequest 找不到实体名称的 NSEntityDescription

我已经针对SO上的类似问题尝试了建议的解决方案,但没有成功。提取请求找不到实体名称“GarmentType”。这是我的数据模型:错误是在这个帮助类中的executeFetchRequest抛出的:////GarmentType+Create.m//Dressy////CreatedbyMichaelMangoldon9/4/13.//Copyright(c)2013MichaelMangold.Allrightsreserved.//#import"GarmentType+Create.h"@implementationGarmentType(Create)//Createsorfet

ios - 我怎样才能使 NSFetchedResultsController Update 与 UISearchController 一起工作?

我有一个NSFetchedResultsController显示来自CoreData的一些数据,我正试图让一个搜索栏与它一起工作。搜索有效,但是调用controller(didChangeObject:)时使用的是全表的索引路径,而不是过滤后的表,因此更新要么修改了错误的记录,要么因为索引路径超出范围而导致错误。尽管我知道这是错误的根源,但我不确定如何修复它。我的代码的主要部分如下:overridefunctableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)->UITableViewCel

ios - Swift 3. NSFetchRequest 属性ToFetch

在Swift3中,当我们使用NSFetchRequest时,我们必须指定NSFetchRequestResult。但是如何获取一组属性值呢?如果我使用这样的东西letfetchRequest=NSFetchRequest(entityName:"MyClass")fetchRequest.propertiesToFetch=["myAttributeName"]当我尝试执行提取请求时发生异常。错误:-executeRequest:遇到异常=数据库似乎已损坏。如果我删除带有propertiesToFetch的一行,我不会收到任何错误,但我会得到一个对象数组,而不是属性。

ios - 难以在 Swift 3 中配置 NSFetchedResultsController

我正在将一个现有项目从Swift2重构到Swift3。在我开始重构CoreData之前,一切都很简单。我能够创建托管对象并将它们保存在managedObjectContext中,但我很难让NSFetchedResultsController工作。我看了一下thispost,但这并没有让我越过终点线。从JSON导入记录后,我使用以下代码验证managedObjectContext中是否存在对象:funcrecordCount()->Int{letcontext=(UIApplication.shared.delegateas!AppDelegate).persistentContaine

ios - 使用 CoreData 数据库填充 NSMutableArray

我试图从CoreData数据库中填充一个NSMutableArray(使用swift),但不确定我做错了什么。这是我的代码:varstuff:NSMutableArray=[]填充NSMutableArray:overridefuncviewDidAppear(animated:Bool){letappDel:AppDelegate=UIApplication.sharedApplication().delegateasAppDelegateletcontext:NSManagedObjectContext=appDel.managedObjectContextletfreq=NSFe

ios - NSFetchRequest fetchBatchSize 不工作

我一直在使用NSFetchedResultsController中的fetchBatchSize时遇到问题,所以我决定退后一步,只在普通的NSFetchRequest上使用它。我创建了一个非常简单的项目,其中只有一个包含100个项目的tableViewController。这些项目只有两个属性,itemID和itemName。我使用以下方法填充数据数组:funcinitializeItems(){letrequest=NSFetchRequest(entityName:"Item")letmessageSort=NSSortDescriptor(key:"itemName",ascen

ios - 带有谓词/排序函数闭包的 NSFetchRequest

我正在重建我的应用程序的CoreData堆栈,并打算使用具有泛型的工作单元/存储库模式。我的设置是BaseRepository通用类以及CoreDataRepository从基础存储库继承的类。我有四种检索方法:getAll,getAllSorted,getAllFiltered,最后getAllFilteredSorted.CoreDataRepository将链接前三个get方法进入最后一个,传递默认值。这里是指定方法的定义:funcgetAllFilteredSorted(predicate:(T)->Bool,comparer:(T,T)->Bool)->T[]{letrequ

swift - 如何将 fetchRequest 更改为数组以在 UITableView 中使用

我想把从coredata中获取的数据放在UITableView中,但我得到了这个“EXC_BAD_INSTRUCTION”。使用letswiftBlogsArray工作得很好,所以有人可以告诉我如何将fetch转换为Array或者这不是正确的方法吗?importUIKitimportCoreDataclassMainViewController:UIViewController,UITableViewDelegate,UITableViewDataSource{@IBOutletvarscrollView:UIScrollView!@IBOutletvartimeStampTextFi

xcode - 只有唯一属性的核心数据获取实体

我有一个具有以下属性的实体“人”:-名字-姓氏-年龄我创建了许多对象:(本,布莱克,18岁)(约翰·史密斯,19岁)(伊万,博尔佐夫,18岁)(Den,Balan,20)(肯特,布罗曼,20岁)如何接收数组或任何其他方式来构建只有唯一年龄[18,19,20]的表请用Swift提供答案。附言当然我可以获取所有对象,并手动搜索唯一性,但我希望有更好的解决方案)谢谢! 最佳答案 您可以使用NSFetchRequest的propertiesToFetch和returnsDistinctResults属性来获得所有实体的不同年龄结果。http