草庐IT

x-coredata

全部标签

iphone - 解决CoreData错误: NULL _cd_rawData but the object is not being turned into a fault

有时,在使用Core-Data对象时,应用程序会因错误而崩溃:CoreData:error:NULL_cd_rawDatabuttheobjectisnotbeingturnedintoafault根据我在互联网上的研究和阅读,当托管对象上下文在两个线程之间传递并且MOC不是线程安全时,就会发生这种情况。每当我想从CD对象访问属性时,就会出现此崩溃。如果我有Person对象并想访问Perosn.name应用程序可能会因此错误而崩溃(如前所述,据我所知,它随机发生并且我无法重现它,有时它会在一个周期内发生10次排,然后一两天都不会发生)。在看这个问题的时候,好像是在我获取Person并更

iphone - CoreData 对多对多关系排序

我正在编写一个iOS应用程序,它存储了个人记录,并且需要显示以特定方式排序的列表。这些排序的数量是可变的,它们是动态生成的,但我希望它们存储在数据存储区中。执行此操作的SQL方法是使用一个ListPositions表,其中包含列表名称、人员表中的ID和排序键。然后,要显示特定列表,我可以选择所有具有给定名称的列表ListPositions,拉入引用的人员,然后按排序键进行排序。尝试在CoreDatat中执行此操作,但我遇到了问题。我正在尝试使用如下模式来执行此操作:Person:NameDOBetc...positions-->>ListPositionListPosition:lis

iphone - CoreData 对多对多关系排序

我正在编写一个iOS应用程序,它存储了个人记录,并且需要显示以特定方式排序的列表。这些排序的数量是可变的,它们是动态生成的,但我希望它们存储在数据存储区中。执行此操作的SQL方法是使用一个ListPositions表,其中包含列表名称、人员表中的ID和排序键。然后,要显示特定列表,我可以选择所有具有给定名称的列表ListPositions,拉入引用的人员,然后按排序键进行排序。尝试在CoreDatat中执行此操作,但我遇到了问题。我正在尝试使用如下模式来执行此操作:Person:NameDOBetc...positions-->>ListPositionListPosition:lis

ios - 使用内置的 CoreData 选项在外部位置存储 blob

我管理了具有图像属性的对象。由于在CoreData中存储大blob不是一个好主意,我正在尝试使用内置的CoreData选项“StoreinExternalRecordFile”,您可以在数据模型检查器中看到它。尽管启用了这个选项,但我没有看到任何图像数据被存储在外部。从大小来看,它们似乎仍然保存在sqlite文件中。什么问题? 最佳答案 如果你的存储类型是NSSQLiteStoreType,你的属性是NSBinaryDataAttributeType。您已启用setAllowsExternalBinaryDataStorage,并且

ios - 使用内置的 CoreData 选项在外部位置存储 blob

我管理了具有图像属性的对象。由于在CoreData中存储大blob不是一个好主意,我正在尝试使用内置的CoreData选项“StoreinExternalRecordFile”,您可以在数据模型检查器中看到它。尽管启用了这个选项,但我没有看到任何图像数据被存储在外部。从大小来看,它们似乎仍然保存在sqlite文件中。什么问题? 最佳答案 如果你的存储类型是NSSQLiteStoreType,你的属性是NSBinaryDataAttributeType。您已启用setAllowsExternalBinaryDataStorage,并且

ios - 检查 coredata 对象是否为 nil

我想找出核心数据中的对象,我的代码:类型:signedDate(日期)alarmDate(日期)starTime(NSDate)结束时间(NSDate)NSString*str=@"(signedDate>=%@)AND(signedDate谓词错误?如何判断一个coredata对象是否为nil?谓词应该是什么? 最佳答案 我不认为谓词语法要求==nil。只用一个=NSString*str=@"(signedDate>=%@)AND(signedDate您上面的代码工作正常。它应该是YES,因为它是零。BOOLok;predicat

ios - 检查 coredata 对象是否为 nil

我想找出核心数据中的对象,我的代码:类型:signedDate(日期)alarmDate(日期)starTime(NSDate)结束时间(NSDate)NSString*str=@"(signedDate>=%@)AND(signedDate谓词错误?如何判断一个coredata对象是否为nil?谓词应该是什么? 最佳答案 我不认为谓词语法要求==nil。只用一个=NSString*str=@"(signedDate>=%@)AND(signedDate您上面的代码工作正常。它应该是YES,因为它是零。BOOLok;predicat

ios - 当 RKObjectManager 发布对象失败时,如何丢弃一个对象中的 CoreData 更改

在RKObjectManager中,当此对象的POST/PUT请求失败时,如何丢弃对NSManagedObject实例所做的CoreData更改?NSManagedObject*object=...;[objectsetValue:@"test"forKey:@"test"];[[RKObjectManagersharedManager]postObject:objectparameters:nilsuccess:^(RKObjectRequestOperation*operation,RKMappingResult*mappingResult){NSLog(@"success,not

ios - 当 RKObjectManager 发布对象失败时,如何丢弃一个对象中的 CoreData 更改

在RKObjectManager中,当此对象的POST/PUT请求失败时,如何丢弃对NSManagedObject实例所做的CoreData更改?NSManagedObject*object=...;[objectsetValue:@"test"forKey:@"test"];[[RKObjectManagersharedManager]postObject:objectparameters:nilsuccess:^(RKObjectRequestOperation*operation,RKMappingResult*mappingResult){NSLog(@"success,not

ios - XCTest 和 CoreData

我正在尝试使用XCTest类和方法在Xcode5中对我的模型进行单元测试。因为我的模型类继承了managedObject,所以我不能只实例化(分配/初始化)它们并调用getter和setter或我需要测试的方法。我需要使用NSEntityDescription和managedObjectContext创建它们。这就是我遇到麻烦的地方。我不知道在哪里以及如何为单元测试目的创建managedObjectContext。如果有人有一些建议或代码示例,那将非常有帮助。谢谢。 最佳答案 我使用内存存储进行单元测试并在其中创建所有实体。该类方法