草庐IT

CoreData

全部标签

ios - 如何在 CoreData 中保存多个条目?

我有以下代码可以无误地执行。问题是它只保存最后一个条目(“JackDaniels”,3)。如何更改它以保存所有三个条目?letemployees=NSEntityDescription.insertNewObjectForEntityForName("Employees",inManagedObjectContext:managedObject)employees.setValue("JohnDoe",forKey:"employeename")employees.setValue(1,forKey:"id")employees.setValue("JaneDoe",forKey:"e

ios - CoreData - NSManagedObject 子类的好处

我试图在不创建NSManagedObject的子类的情况下插入CoreData。但是我的应用程序因NSManagedObjectsetValue:forUndefinedKey"name"inCategory而崩溃。letmanagedObjectContext=(UIApplication.sharedApplication().delegateas!AppDelegate).managedObjectContextletentitiyDesc=NSEntityDescription()entitiyDesc.name="Category"guardletdata=model.dat

ios - 在 Swift 中使用 MagicalRecord 实例化的向下转换 CoreData 实体

我的核心数据模型中有以ICD_为前缀的实体。对于每个实体,我都有一个以CD_为前缀的子类。以CD_为前缀的子类只实现静态getter。当我使用MagicalRecord创建实体时,我必须使用前缀为ICD_的类,而不是CD_。否则,我有一个SIGABRT:"+entityForName:couldnotlocateanentitynamed'CD_User'inthismodel."如果我将我的ICD_实体向下转换为我的CD_Entity它在Objective-C中工作。Swift中同样的事情会导致SIGABRT。这是很自然的,因为分配的是父实体,而不是子类,所以通常不可能向下转型。所以

ios - UITableView 使用 NSFetchedResultsController 和 CoreData 意外反弹到 beginUpdates()/endUpdates()/performBatchUpdates()

UITableView意外反弹beginUpdates()/endUpdates()/performBatchUpdates()使用NSFetchedResultsController和CoreData当行数填满View时。重现它非常简单。-从主从应用程序模板(使用CoreData)创建一个新项目。-在Storyboard中,删除“showDetail”转场。(我们不需要详细View)-在MasterViewController中,将seguefuncprepare()替换为:overridefunctableView(_tableView:UITableView,didSelectR

ios - RestKit + CoreData,理解RKManagedObjectRequestOperation

我正在使用RestKit将API映射到CoreData实体。我的问题是关于映射/保存如何工作的时间,因为我的代码没有按预期工作。目前,请求已成功完成,但是当我调用self.getUsers()时,它仍然在我的CoreData数据模型中显示0个对象。但是,当我重新运行应用程序并在文件顶部打印self.getUsers()时,我看到了我的用户!因此保存正在发生,就在我的self.getUsers()行运行之后......我误解了UserNSManagedObject实际被保存的时间,因为我假设我对self.getUsers()的调用在链中发生得太早了.这是我的代码,可以帮助您理解:varr

swift - CoreData 的 insertNewObjectForEntityForName 使转换为自定义类失败并进行单元测试

我有一个AEUser类,它是NSManagedObject的一个子类。该类有一个创建自身新实例的方法。对于默认目标,正常路由效果很好:staticfuncnewDefaultUser(moc:NSManagedObjectContext)->AEUser{letnewUser=NSEntityDescription.insertNewObjectForEntityForName("AEUser",inManagedObjectContext:moc)as!AEUsernewUser.uid=sDefaultUser//somestringconstantnewUser.name=sDe

ios - 由于 PrivateQueueConcurrencyType 导致 CoreData 内存泄漏

我今天发现了一个内存泄漏,当从我的ma​​inNSManagedObjectContext调用executeFetchRequest时,它就表现出来了。我终于发现已知的违规者是因为我的NSManagedObjectContext将其父上下文分配给私有(private)托管对象上下文。注释掉让我的主上下文分配一个私有(private)父类的代码行,而不是直接指向NSPersistentStoreCoordinator释放我的应用程序的所有内存泄漏。我正在阅读以下文章:http://martiancraft.com/blog/2015/03/core-data-stack/有关如何在我的应

ios - 为什么 MapKit 框架必须链接到每个文件而 CoreData 框架不能?

我的项目中用Swift编写的链接框架和库:假设我的项目中有两个文件:AppDelegate.swift和ViewController.swift我在AppDelegate.swift中的导入语句:importUIKitimportFoundationimportCoreDataimportMapKit所以在这里我可以简单地使用例如:NSManagedObject和MKMapView类。在ViewController.swift中,我没有任何导入语句,但我可以在MKMapView对面使用NSManagedObject。为什么?在Swift中,一个文件中导入的框架不应该对其他文件可见吗?为

iOS 9 和 iOS 10 CoreData 同时运行

我有一个关于与CoreData相关的Swift3的问题。我正在使用Xcode8在Swift中开发一个应用程序,我需要支持iOS9和iOS10。问题是我不知道如何获取AppDelegate和上下文(用于存储和从我的实体获取数据)。我认为我的代码应该是这样的:#ifavaliable(iOS10,*){//iOS10code}else{//iOS9code}但我不知道该怎么办。有什么想法吗?(不胜感激的小帮助) 最佳答案 #Swift3中用于iOS9和iOS10CoreData的代码#由于您需要iOS9和iOS10的核心数据代码,因此您

xcode - 如何发布预加载 coreData 的应用程序?

这个问题在这里已经有了答案:Howtouseapre-populateddatabaseonacoredatacontext(2个答案)关闭7年前。我试图找到发布带有一些预加载数据的应用程序的最佳方式。我有一个有2个表的应用程序。我想用一些数据填充这个表。问题是数据不仅仅是文本信息。1个实体包含大约40个属性(数字、字符串、可转换数据),因此将其嵌入代码中不是解决方案。感谢您的帮助。