Tag: 核心数据

使用iOS的多块核心数据迁移块

我正在尝试迁移一个大约11Mb的iPhone / iPad的SQLite商店。 它有大约三十个不同的实体,所有这些实体之间都相互关联。 在3GS上,需要相当长的一段时间。 即使轻量级迁移也需要四分钟左右的时间 我想这是因为所有的关系都是在记忆中。 阅读苹果迁移指南,它说,对于大型数据集,一种方法是使用不同的映射模型进行多次通过。 一切顺利。 但是,如果一个映射模型中的实体与另一个映射模型中的实体相关,则似乎无法执行此操作。 实际上,编译错误是在映射模型xcmappingmodel文件中的“无法自动生成具有零映射名称的值expression式”的行中生成的。 任何提示,非常感谢。 非常感谢, 马克斯

'文件名被用来区分相同名称的私人声明'的错误

我得到这个错误在Swift中生成Xcode 8.1中的NSManagedObject。 :0:error:filename“DemoOne + CoreDataClass.swift”使用了两次:'/ Users / Swasidhant / Desktop / demo again / DemoOne + CoreDataClass.swift'和'/ Users / Swasidhant / Library / Developer / Xcode / DerivedData / demo_again- hiinrbwwbmyfbrbctsfdzvudkkuy / Build / Intermediates / demo again.build/Debug-iphonesimulator/demo again.build/DerivedSources/CoreDataGenerated/Model/DemoOne+CoreDataClass.swift':0:注意:文件名用于区分具有相同名称的私有声明:0 :error:filename“DemoOne + CoreDataProperties.swift”使用了两次:'/ Users / Swasidhant / Desktop / demo again / DemoOne + CoreDataProperties.swift'和'/ Users […]

按属性IN数组筛选核心数据结果

我目前有Core Data成功返回一个名为Event的特定实体的所有结果: NSManagedObjectContext *context = [delegate managedObjectContext]; NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:context]; NSFetchRequest *request = [[NSFetchRequest alloc] init]; [request setEntity:entityDescription]; NSError *error; NSArray *fetchResults = [context executeFetchRequest:request error:&error]; Event实体的一个属性是一个名为tid的string。 我也有一个包含所有允许的tid值的数组filterArray 。 我如何让我的核心数据请求只返回具有匹配filterArray中的值之一的tid属性的事件? 我相信答案与NSPredicate有关,但我对此还不够熟悉,还没有完全达到我的意愿。

Swift 3核心数据删除对象

不幸的是,新的核心数据语义使我疯狂。 我以前的问题有一个干净的代码,因为不正确的自动生成头文件不起作用。 现在我继续我的工作,删除对象。 我的代码似乎很简单: func deleteProfile(withID: Int) { let fetchRequest: NSFetchRequest<Profile> = Profile.fetchRequest() fetchRequest.predicate = Predicate.init(format: "profileID==\(withID)") let object = try! context.fetch(fetchRequest) context.delete(object) } 我用print(object)而不是context.delete(object)做了一个“硬”的debugging,它向我展示了正确的对象。 所以我只需要删除它。 PS没有deleteObject 。 现在NSManagedContext只有public func delete(_ sender: AnyObject?)

删除核心数据中的对象

我怎样才能删除我之前用这个代码添加的对象。 它是一个最喜欢的部分,在开始时,我添加了一个灰色的星星,它添加了一个来自取回的对象。 然后变成黄色,向后的方法应该是星形黄色=删除。 但我不知道如何做到这一点。 提前致谢 -(IBAction)inFavoris:(id)sender { AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; NSManagedObjectContext *context = [appDelegate managedObjectContext]; NSManagedObject *favorisObj = [NSEntityDescription insertNewObjectForEntityForName:@"Favoris" inManagedObjectContext:context]; [favorisObj setValue:idTaxi forKey:@"idTaxi"]; [favorisObj setValue:nomTaxi forKey:@"nomTaxi"]; [favorisObj setValue:taxiCB forKey:@"cb"]; [favorisObj setValue:taxiAvion forKey:@"avion"]; [favorisObj setValue:taxiColis forKey:@"colis"]; [favorisObj setValue:taxiHandicape forKey:@"handicape"]; [favorisObj setValue:taxiHoraires forKey:@"horaire"]; [favorisObj setValue:lugagge forKey:@"lugagge"]; [favorisObj setValue:luxury forKey:@"luxury"]; [favorisObj setValue:languesParlees forKey:@"langues"]; [favorisObj […]

核心数据:UIManagedDocument或AppDelegate来设置核心数据堆栈?

我有点困惑在哪里设置我的核心数据堆栈。 在Appdelegate或使用UIManagedDocument的共享实例,在这里描述?: http ://adevelopingstory.com/blog/2012/03/core-data-with-a-single-shared-uimanageddocument.html 现在我已经在我的AppDelegate中设置了核心数据堆栈,并且在视图控制器之间传递我的MOC。 但是最好是迁移到UIManagedDocument并创build一个共享实例,所以我不必一直通过MOC? 还因为它更新?

如何将Core Data实体导出为CSV文件

我希望能够将我的核心数据实体导出到CSV文件,以保存应用程序的数据。 我GOOGLE了,但什么也没find。 我的应用程序只使用五个属性的实体。 这些属性都是string,除了一个十进制数字(用逗号或点)。 我怎样才能导出这个实体的所有属性?

创build一个NSManagedObject而不保存?

可能重复: 存储但不保存NSManagedObject到CoreData? 我需要做一个NSManagedObject而不保存它,我怎么能做到这一点? 我想这样做的原因是应用程序有一个设置,其中用户input他们的细节,但是我只想保存对象,如果他们完成设置(他们有select取消,在这种情况下,对象需要丢弃没有被保存,这就是为什么我不想马上插入它)。 我试图插入一个没有上下文,但应用程序崩溃。 我已经尝试了以下内容: GuestInfo *guest; guest = (GuestInfo *)[NSEntityDescription insertNewObjectForEntityForName:@"GuestInfo" inManagedObjectContext:nil]; 这会导致崩溃,并显示以下错误消息: 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'GuestInfo'' 这导致了 希望你能帮忙,谢谢。

pipe理核心数据iCloud事务日志

我正在使用iCloud和Core Data,基于Apple指定的SQLite“Library-style”应用程序devise。 虽然基本function运行得很好,但是我担心事务日志以及它们的pipe理方式。 虽然我的应用程序的数据库不是很大,但它是非常活跃的,核心数据堆栈在应用程序正在使用时被保存很多次。 我注意到, 每个核心数据保存都会创build一个新的事务日志。 最终的结果是我有一个TON的事务日志,他们占用比实际的数据库更多的空间。 1)事务日志是否被自动修剪/合并,还是会继续无限增长,最终以千位计数,并占用数兆字节? 似乎手动清除事务日志和重新创build.baseline归档文件的唯一方法是禁用然后重新启用iCloud(删除无处不在的容器并重新启动)。 但是,这显然不是一个好的解决scheme。 2)我目前的架构经常保存核心数据栈,即使是微小的变化。 一般来说,这是有道理的,因为我的数据库是小的,保存经常确保数据库文件始终是最新的。 但是,考虑到上述与事务日志有关的问题,我想我应该尽量减less对数据库的保存。 也许在定时和/或应用程序转换状态下这样做。 3)即使我通过减less保存数据库的频率来最小化事务日志的数量,这里似乎也存在一个问题,因为日志会随着时间的推移而继续增长。 最终,“事务日志”devise的好处将成为所使用的iCloud存储量的一个负担,并添加了作为新设备的初始iCloud同步。 由于苹果已经提供了关于iCloud的非常稀less的信息,而且几乎没有任何“最佳实践”的forms,所以我希望能够从社区获得任何见解。

最好的方法来保存和检索到核心数据的UIColors

我可以想到几个方法,例如将每个颜色组件保存为一个float,将一个数组保存为可变形。 从图案图像保存颜色可能会稍微复杂一点,但我想你可以将图像的名称保存为一个string,并将其插入创build代码。 我在正确的轨道上,否则一般来说做这个任务的最好和最有效率的是什么?