草庐IT

multi-context-coredata

全部标签

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 - "type of expression is ambiguous without more context"- 引用 appDelegate

我的appDelegate最初是用Obj-C编写的。我试图在一个新的Swift类中访问它,但我遇到了一个我认为具有误导性的奇怪错误,我正试图找到根源。在我的Swift文件中,我在以下位置设置了一个断点:varappDelegate=UIApplication.sharedApplication().delegate如果我只是po:poappDelegate我得到:PrintingdescriptionofappDelegate:Optional()一切都很好。但是,当我尝试:poappDelegate.navigationController在调试控制台中我得到:error::1:13

ios - UICollectionView 在 insertSections 上崩溃,endItemAnimationsWithInvalidationContext :tentativelyForReordering:

我正在尝试向我的CollectionView添加一个新部分,因为新部分的数据值(value)已添加到数据源中。我是这样做的:self.conversationCollectionView.performBatchUpdates({self.conversationCollectionView.insertSections(NSIndexSet(index:0))},completion:{(finished:Bool)->Voidin})我一开始也不使用performBatchUpdates。无论哪种方式,我每次都会遇到此崩溃:Assertionfailurein-[MyApp_end

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个属性(数字、字符串、可转换数据),因此将其嵌入代码中不是解决方案。感谢您的帮助。

swift - CoreData 的 performBackgroundTask 方法崩溃

我在CoreData中写了一个函数来获取数据库。此函数将关闭并运行performBackgroundTask以获取数据。然后,将结果传递给闭包以运行。我在AppDelegate中编写了静态属性,以便我轻松访问viewContext:@UIApplicationMainclassAppDelegate:UIResponder,UIApplicationDelegate{varwindow:UIWindow?staticvarpersistentContainer:NSPersistentContainer{return(UIApplication.shared.delegateas!Ap

ios - swift 2 : Type of expression is ambiguous without more context

classExample:NSObject,UIViewControllerAnimatedTransitioning,UIViewControllerTransitioningDelegate{varaView:UIView!UIView.animateWithDuration(duration,delay:0.0,usingSpringWithDamping:0.8,initialSpringVelocity:0.8,options:nil,animations:{self.aView.transform=CGAffineTransformIdentity//Thislineist