草庐IT

CoreData

全部标签

ios - CoreData 将 NSNumbers 转换为 BOOL

我的CoreData模型中有一个实体,它有一个bool字段。这作为NSNumber存储在CoreData实体中。我希望访问器使用BOOL而不是NSNumber,所以我可以使用comment.isActive=YES;代替:BOOLisCommentActive=[NSNumbernumberWithBool:comment.isActive];我打算更改自动生成的实体类文件中的代码,但我被告知不要这样做,因为每次我提取模型时它都会被覆盖。我有一个实体类别,我尝试编写一个访问器,将其转换为同名的BOOL,但这只会导致我陷入循环。有些人提到了methodtwizzling,但对我来说这听起

ios - CoreData更新问题

我的应用程序在后台线程中进行更新,然后保存上下文更改。在主要上下文中,有一个与NSFetchedResultsController一起使用的TableView。有一段时间更新工作正常,但随后抛出异常。为了检查这一点,我添加了NSLog(@"%@",[self.controllerfetchedObjects]);到-controllerDidChangeContent:。这是我得到的:"(entity:PRBattle;id:0x6d319d0;data:{\nbattleId=\"-1\";\nfinishedAt=\"2012-11-0611:37:36+0000\";\noppo

ios - CoreData 在子托管对象上下文中使用获取的属性崩溃

我有我认为非常简单的东西。在私有(private)队列中有一个父moc,在主队列中有一个子moc。该模式在实体中包含以下提取的属性谓词:parentuuid==$FETCH_SOURCE.uuid当我从实体的类中(在主线程的子moc中)获取它时,我得到一个异常:***Terminatingappduetouncaughtexception'NSUnknownKeyException',reason:'[valueForUndefinedKey:]:thisclassisnotkeyvaluecoding-compliantforthekeyuuid.'我基本上可以说出这里发生了什么。由

ios - CoreData - 如何使用 validateForDelete : to determine if a managed object should be deleted

目标:我想检查一个托管对象以确保它可以删除期望:-[NSManagedObjectvalidateForDelete:]应该根据管理对象模型中的删除规则设置返回一个BOOLNSManagedObject类引用validateForDelete:Determineswhetherthereceivercanbedeletedinitscurrentstate.-(BOOL)validateForDelete:(NSError**)errorParameterserrorIfthereceivercannotbedeletedinitscurrentstate,uponreturncont

ios - CoreData 在设备上发生错误但在模拟器上正常

我只是尝试使用核心数据来做一些事情,我的目标是创建一个具有子上下文的对象,为对象分配值,然后在进行一些操作后将其保存到存储中。在模拟器上运行良好,但在设备上运行时出现错误。这是错误:CoreData:error:Mutatingamanagedobject0x174033540(0x1740cb600)afterithasbeenremovedfromitscontext.我的代码:扩展extensionNSManagedObject{classfuncGV_New()->NSManagedObject{letentity=self.MR_entityDescription();let

ios - CoreData多线程_违规调试

我们在多线程上使用核心数据并遇到多线程违规。通常很容易修复,查看违规位置并确保代码在performBlock调用中执行。今天的问题是调用堆栈没有指向任何给我很多线索的东西。我想有人可能对如何追踪这个有一些见解#00x05e40f63in+[NSManagedObjectContext__Multithreading_Violation_AllThatIsLeftToUsIsHonor__]()#10x05e4138bin_PFAssertSafeMultiThreadedAccess_impl()#20x05e0c15din-[_PFBatchFaultingArraydealloc]

ios - CoreData 合并冲突显示托管对象版本更改而不是数据

我在核心数据中有一个实体,我尝试从两个不同的上下文中更新它。我正在存储我需要更新的托管对象的managedObjectID,因为它是线程安全的。在更新我的对象之前,我刷新对象以避免合并冲突。这是我的代码:context1.performBlock{letmyObject=context1.objectWithID(managedObjectId)context1.refreshObject(myObject,mergeChanges:true)myObject.property1=newValue}请注意,我没有在此处保存上下文,因为我想将这些更改作为事务的一部分与其他更新一起提交。对

objective-c - iOS MVC : where does the model fit-in to a CoreData application?

我刚刚开始使用CoreData制作应用程序,但我熟悉MVC概念,因为我曾经使用(和开发)MVC框架在Web开发中做了大量工作。据我所知,CoreData会自动生成继承自NSManagedObject的类。这些对象是通过对上下文的获取请求或通过将新对象插入上下文来创建的。在我见过的应用程序中,除了与其在数据库中的属性相对应的属性之外,对象是空的,本质上使它们成为模拟实体表中一行的对象。那些自动生成的类和CoreData本身构成了应用程序模型是有道理的。在我传统上制作的应用程序中,有一个Model类负责处理所有数据。这通常是一个Singleton类,每个需要模型的Controller都可以

ios - CoreData 总和性能

我有一些关于CoreData和sum函数的理论问题要问。我尝试用三种方法对CoreData表中的值求和。获取所有内容并使用表达式对其进行总结:NSArray*array1=[selfgetAll:self.managedObjectContext];intsum=[[array1valueForKeyPath:@"@sum.sum"]intValue];获取所有内容并使用for循环:intsum2=0;NSArray*array2=[selfgetAll:self.managedObjectContext];for(Test*tinarray2){sum2=sum2+[t.sumint

ios - CoreData 获取关系计数和另一个关系分组的请求 (m2n)

在我的CoreData模型中,我有一个使用中间实体建模的n2n关系:Person[11]AppointmentPerson2Appointment实体如下所示:@interfacePerson2Appointment:NSManagedObject//attributes@property(nonatomic,retain)NSNumber*participationState;//relations@property(nonatomic,retain)Person*person;@property(nonatomic,retain)Appointment*appointment;..