草庐IT

multi-context-coredata

全部标签

ios - UITableView 删除/添加行导致 CoreData : Serious Application Error if another object has been selected in the MasterView of a SplitViewController

更新18/3#2。我已经开始计算beginUpdates和EndUpdates以确保它们相等。就在出现异常之前,它们不同步。虽然不确定为什么。18月3日更新:我想我已经找到了问题,但我不确定我是否知道如何解决它。试验了几个小时后,我发现只有在session期间在svc的主TableView中选择了多个项目时,我才能使应用程序崩溃。当在主TableView中选择另一个项目时,详细TableView将获得一个新的对象集,并且refreshtables被调用,即使它在更新/移动/删除/插入循环的中途也是如此。因此问题;我认为它有更新旧故事对象的说明,即使在detailviewcontroll

ios - NSObjectInaccessibleException',原因 : 'CoreData could not fulfill a fault

我的iOS应用程序通过多线程使用核心数据。我收到一些包含以下消息的崩溃报告:“'NSObjectInaccessibleException',原因:'CoreData无法为'0x1e07a9b0''完成错误我了解导致此问题的原因-对象已被删除但另一个线程正在尝试访问它。我正在努力解决问题,但我想在后台线程中添加一个检查,以查看对象是否会以这种方式出现故障。目前我的代码与myObject.myValue有关。是否可以做一些检查,例如:if(!myObject.myValue){return;}...以便在执行任何可能导致此类崩溃的操作之前退出该方法?还是仅仅调用myObject.myVa

ios - 检查 name 属性是否已存在于 CoreData 中

我有一个名为BankInfo的实体,它的参数之一是name,它是一个字符串。我只是想知道,CoreData中是否有一种方法可以检查name是否已经存在于BankInfo中,而不必检索每个BankInfo对象并分别循环检查它们?实现这一目标的最有效方法是什么? 最佳答案 您可以使用带有谓词的获取请求来查找与特定属性匹配的对象。如果你只对存在感兴趣具有给定键的对象,使用countForFetchRequest而不是实际获取对象,并将结果集限制为一个对象:NSFetchRequest*request=[NSFetchRequestfetc

iphone - CGContextFillRects : invalid context - Objective C

我有这段代码可以为我的图像提供我需要的颜色:-(UIImage*)convertToMask:(UIImage*)image{UIGraphicsBeginImageContextWithOptions(image.size,NO,image.scale);CGRectimageRect=CGRectMake(0.0f,0.0f,image.size.width,image.size.height);CGContextRefctx=UIGraphicsGetCurrentContext();//Drawawhitebackground(forwhitemask)CGContextSet

ios - CocoaPods 库中的 CoreData

我几个月前开发了一个iOS框架,现在我想使用CocoaPods来轻松开发和分发它。现在我通过发送我的.framework文件来分发它,我知道这不是最好的方法,因此我想使用CocoaPods。我的问题是,在我的框架内,我使用了CoreData,但我无法让它与Pod一起工作。如果我得到我的旧.framework并将其导入我的应用程序项目,一切都很好,CoreData工作得很好。深入研究该问题,似乎未在bundle中找到Database.momd。我将在失败的框架内附上一段代码:-(NSManagedObjectModel*)managedObjectModel{if(_managedObj

ios - 通过对多关系的计数使用 NSSortDescriptor 获取 CoreData

我有2个具有以下关系的CoreData实体(Person、Pet):一个人可以拥有多个宠物。因此,存在来自Person->Pet的一对多关系。我想获取所有的人,按照他们拥有的宠物数量排序,拥有最多宠物的人排在第一位,拥有最少宠物的人排在最后。在获取人员列表时,我尝试使用如下所示的NSSortDescriptor:[NSSortDescriptorsortDescriptorWithKey:@"pets.count"ascending:NO]我认为“人”的“宠物”属性允许我使用NSSet的计数属性进行排序。唉,CoreData提示这个错误:Fetchexceptionto-manykey

ios - com.apple.CoreData.SQLDebug 不工作

我正在iOS应用程序的MacOSSierra上使用Xcode8和swift。几个月前我意识到SQLDebug停止工作...(它曾经在我的应用程序中工作)...我创建了一个启用了coredata标志的新空项目..然后我创建了一个带有属性的实体,我在ViewDidLoad中执行了这个函数,Xcode没有记录sqlfuncfetchAllData(){//1delegateletappDelegate=UIApplication.shared.delegateas!AppDelegateletmanagedContext=appDelegate.persistentContainer.vie

ios - CoreData 谓词 : string property length?

假设我有一个实体Fragment,它有一个字符串属性'text',我想查询Fragment的列表,其text的长度为5:[NSPredicatepredicateWithFormat:@"position==%@ANDtext.length==%d",pos,5];它不起作用(即不返回任何结果),但如果我在查询中删除text.length它起作用并且我确定存在长度为5的文本,那么我需要将其更改为什么?谢谢! 最佳答案 NSPredicate中没有字符串的长度属性。请改用正则表达式。您的谓词应如下所示:[NSPredicatepred

iphone - 将 NSDate 保存到 CoreData 上下文时出现问题

我正在尝试将具有属性类型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

ios - 升级到 Xcode 7 会在 CoreData 模型上创建 "Missing current version declaration"警告

想我会在此处发布针对已知错误的完整问题/答案:当从以前的版本升级到Xcode7(稳定版/测试版)时,您的构建突然给您一个新的警告:“缺少当前版本声明”用于您的CoreData模型文件。最糟糕的是,双击此警告没有任何效果,并且Xcode中没有关于解决方案的明显提示。你是如何解决这个问题的? 最佳答案 注意:这是在Xcode6.4和Xcode7beta3上测试的-从Xcode7beta4开始,似乎有一个内置解决方案,手动创建文件不再有效-请参阅已接受的答案打开终端,导航到您的项目目录和模型文件-您的命令应如下所示:cd/Users/YO