我有一个名为BankInfo的实体,它的参数之一是name,它是一个字符串。我只是想知道,CoreData中是否有一种方法可以检查name是否已经存在于BankInfo中,而不必检索每个BankInfo对象并分别循环检查它们?实现这一目标的最有效方法是什么? 最佳答案 您可以使用带有谓词的获取请求来查找与特定属性匹配的对象。如果你只对存在感兴趣具有给定键的对象,使用countForFetchRequest而不是实际获取对象,并将结果集限制为一个对象:NSFetchRequest*request=[NSFetchRequestfetc
我几个月前开发了一个iOS框架,现在我想使用CocoaPods来轻松开发和分发它。现在我通过发送我的.framework文件来分发它,我知道这不是最好的方法,因此我想使用CocoaPods。我的问题是,在我的框架内,我使用了CoreData,但我无法让它与Pod一起工作。如果我得到我的旧.framework并将其导入我的应用程序项目,一切都很好,CoreData工作得很好。深入研究该问题,似乎未在bundle中找到Database.momd。我将在失败的框架内附上一段代码:-(NSManagedObjectModel*)managedObjectModel{if(_managedObj
我有2个具有以下关系的CoreData实体(Person、Pet):一个人可以拥有多个宠物。因此,存在来自Person->Pet的一对多关系。我想获取所有的人,按照他们拥有的宠物数量排序,拥有最多宠物的人排在第一位,拥有最少宠物的人排在最后。在获取人员列表时,我尝试使用如下所示的NSSortDescriptor:[NSSortDescriptorsortDescriptorWithKey:@"pets.count"ascending:NO]我认为“人”的“宠物”属性允许我使用NSSet的计数属性进行排序。唉,CoreData提示这个错误:Fetchexceptionto-manykey
我正在iOS应用程序的MacOSSierra上使用Xcode8和swift。几个月前我意识到SQLDebug停止工作...(它曾经在我的应用程序中工作)...我创建了一个启用了coredata标志的新空项目..然后我创建了一个带有属性的实体,我在ViewDidLoad中执行了这个函数,Xcode没有记录sqlfuncfetchAllData(){//1delegateletappDelegate=UIApplication.shared.delegateas!AppDelegateletmanagedContext=appDelegate.persistentContainer.vie
假设我有一个实体Fragment,它有一个字符串属性'text',我想查询Fragment的列表,其text的长度为5:[NSPredicatepredicateWithFormat:@"position==%@ANDtext.length==%d",pos,5];它不起作用(即不返回任何结果),但如果我在查询中删除text.length它起作用并且我确定存在长度为5的文本,那么我需要将其更改为什么?谢谢! 最佳答案 NSPredicate中没有字符串的长度属性。请改用正则表达式。您的谓词应如下所示:[NSPredicatepred
我正在尝试将具有属性类型Date之一的托管对象保存到managedObjectContext。代码如下:reminder.eventDate=selectedDate;NSLog(@"Date:%@",selectedDate);NSError*error=nil;if(![reminder.managedObjectContextsave:&error]){NSLog(@"Unresolvederror%@,%@",error,[erroruserInfo]);abort();}在上下文保存过程中,程序因SIGABRT而崩溃。这是控制台日志:2011-02-2800:50:18.81
想我会在此处发布针对已知错误的完整问题/答案:当从以前的版本升级到Xcode7(稳定版/测试版)时,您的构建突然给您一个新的警告:“缺少当前版本声明”用于您的CoreData模型文件。最糟糕的是,双击此警告没有任何效果,并且Xcode中没有关于解决方案的明显提示。你是如何解决这个问题的? 最佳答案 注意:这是在Xcode6.4和Xcode7beta3上测试的-从Xcode7beta4开始,似乎有一个内置解决方案,手动创建文件不再有效-请参阅已接受的答案打开终端,导航到您的项目目录和模型文件-您的命令应如下所示:cd/Users/YO
嗨,我正在处理3个实体(Class、Students、ExamRecord)及其关系区域的核心数据:Class>StudentsExamRecord我创建了一个谓词来获取第5类的学生列表。NSString*fmt2=@"studentsToClass.className=%@";NSPredicate*p2=[NSPredicatepredicateWithFormat:fmt2,@"5th",nil];有了这个,我得到了第5类的所有学生现在我还想对获取的学生应用另一个过滤器。获取考试记录“result”为“Pass”的学生。result是ExamResult实体中student的一个
设置想象一下作者和一本书之间的以下关系:[Author]--hasmany-->[Book]使用restkit,我有一个Author模型和一个Book模型,我创建了Author和Book之间的关系,如下所示:[authorMappinghasMany:@"books"withMapping:booksMapping];我现在可以通过作者的属性(property)访问作者的书籍:@property(strong,nonatomic)NSSet*books;到目前为止一切顺利。同样,我想通过它的属性访问一本书的作者:@property(weak,nonatomic)Author*autho
我是Swift和iOS开发的新手。这可能是我的一个简单误解。我正在使用核心数据。我的实体中有四个属性:"title"类型String“经度”、“纬度”类型十进制“时间戳”类型日期在下面的代码中,我收到错误“'[Locations]'isnotconvertibleto'()'”。importUIKitimportCoreData@objc(Locations)classLocations:NSManagedObject{@NSManagedvartitle:String@NSManagedvarlongitude:Double@NSManagedvarlatitude:Double@N