草庐IT

multi-context-coredata

全部标签

ios - 确保 CoreData 实体基于实体属性唯一的最佳实践

我要做的是确保我的图表中的实体是唯一的。例如,任何两个用户都不应该拥有相同的社会安全号码。我见过的两种解决方案是:1)在创建新对象之前索引您的实体并使用谓词搜索匹配的实体2)为每个实体的唯一属性创建一个内存字典。iConfess:我来自关系数据库世界。我是主键的用户。我尝试做的事情的最佳实践是什么。 最佳答案 我会选择选项1:“在创建新对象之前使用谓词为您的实体编制索引并搜索匹配的实体”。在我看来,使用内存字典需要你(我假设)复制需要维护的内容,从而创造出错的机会,并且有可能膨胀到比原来更大的东西预期。可能存在速度问题——查询索引核

iphone - ios-coredata : what's the difference between in-memory tracking and full persistent tracking?

文档有点太简单了,我无法完全理解Acontrollerthuseffectivelyhasthreemodesofoperation,determinedbywhetherithasadelegateandwhetherthecachefilenameisset.Notracking:thedelegateissettonil.Thecontrollersimplyprovidesaccesstothedataasitwaswhenthefetchwasexecuted.Memory-onlytracking:thedelegateisnon-nilandthefilecachenam

ios - 用 NSFileManager 替换 CoreData persistantStore 是否安全?

我有一个与我的应用程序完美配合的CoreData数据库。数据库存储由用户保存的预设。我想让用户能够通过iTunes使用文件共享来备份数据库。基本上我想:备份:数据库->用户可以在设备之间传输的文件恢复:文件->数据库我想到的最直接的方法就是简单的复制替换persistentStore。像这样..这是我创建数据库的方式:self.database=[[UIManagedDocumentalloc]databaseURL];if(![[NSFileManagerdefaultManager]fileExistsAtPath:[self.database.fileURLpath]]){[se

iOS - CoreData - TableViewController - NSInvalidArgumentException',原因 : '+entityForName: nil is not a legal NSManagedObjectContext

我用UITableViewController创建了一个Storyboard,然后添加了一个核心数据实体。此时应用程序构建并运行时没有错误,但UITableViewController未显示任何数据。我删除了TVC并在StoryBoard中重建,但是自从我在运行应用程序并尝试打开TVC时遇到错误:*Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'+entityForName:nilisnotalegalNSManagedObjectContextparametersearchingfore

ios - 如何使用 CoreData 控制用户输入

我真的不是iOS方面的专家,但我一直在开发一个应用程序来学习东西。在应用程序中,我有一个tableView,其中有两行用于输入核心数据:一个NSDate属性和一个NSString属性(数值)。应用程序中的用户每天输入这些值。我想要实现的是在存储值之前进行某种输入检查,例如:1-首先,我想确保用户一天输入的NSString属性(主要是数字)绝不会小于前一天并且绝不能在同一天放置两个值。2-然后,我希望NSDate属性始终从当前日期开始并且永远不允许用户选择过去的日期。如果我的问题很琐碎,我深表歉意,我真的需要一些帮助。更新:问题编号nsdate输入约束已解决。现在以下问题仍然存在:我想允

ios - 使用 2 个链接的 ManagedObjectContext 应用程序撤消 CoreData 更改

我正在开发一款用户可以手动编辑某些条目的应用程序,但它们也可以从服务器更新。对于用户更新,我使用UndoManager来允许用户取消/确认更改组。当用户进入编辑模式时,我正在做://wheneditmodeisentered[[self.contact.managedObjectContextundoManager]beginUndoGrouping];//wheneditmodeisfinished[[self.contact.managedObjectContextundoManager]endUndoGrouping];//dependingonbuttonthatwaspres

ios - CoreData NSManagedObject 子类 - 预期标识符

当我从我的数据模型生成我的NSManagedObject时,我的NSManagedObjectheader几乎是全红色的。它说“预期的')'”和“程序中的意外'@'”。它不仅仅是一个头文件,而是来自生成的NSManagedObject的所有头文件。步骤我在我的数据模型中创建了一个新实体(名称和类具有相同的名称)我生成我的NSManagedObject(新文件->核心数据->NSManagedObject子类)当我按照这些步骤操作时,我的头文件的代码变成了红色..我使用XCode5.1.1(5B1008)。我以前工作过,但突然出现这些错误。我删除了所有CocoaPods以防万一导致这些错

ios - CoreData MagicalRecord 保存方法在 iPhone5 上崩溃

目前我正在使用MagicalRecordv2.3.0-beta.3commit:d18e74fe435359238b9593c03e41c1ee0baa0b78框架。我一直在iPhone5上收到1个崩溃日志(来自Crashlytics)。应用程序仍在开发中。崩溃日志如下所示:Thread:Crashed:com.apple.main-thread0libobjc.A.dylib0x38eee626objc_msgSend+51Foundation0x2f06d02d-[NSErrordealloc]+602libobjc.A.dylib0x38ef3b6bobjc_object::si

ios - CoreData(+ iCloud)产生无效的模型状态

我正在使用CoreData和iCloud在设备之间同步数据。每次iCloud导入后(观察NSPersistentStoreDidImportUbiquitousContentChangesNotification),我运行一个简单的重复数据删除算法来查找和删除重复数据。保存更改后,我在控制台中看到来自CoreData的警告,即特定实体实例(已被重复数据删除算法删除)的所有属性和关系都替换为nil/0。CoreData:warning:AnNSManagedObjectContextdelegateoverrodefaulthandlingbehaviortosilentlydelete

ios - 在 CoreData NSSet 上使用 'filteredSetUsingPredicate' 时崩溃(NSInvalidArgumentException : set argument is not an NSSet)

假设我有NSManagedObjectZoo,他得到了一个到名为cats的“Cat”的连接oneToMany,这个连接是NSSet。当我使用函数'filteredSetUsingPredicate',我遇到了以下代码的崩溃:Zoo*zoo=//intanceofourzoowithalltheanimals-fromcoredataNSPredicate*predicate=[NSPredicatepredicateWithFormat:@"catSize==Big"];NSArray*arrayOfCats=[zoo.catsfilteredSetUsingPredicate:pre