Tag: 核心数据

iOS swift:使用coredata(cloudkit)存储caching

我正在学习使用cloudkit来保存和获取logging,但是我对将caching保存到coredata感到困惑。 例如,我提取了几个logging,并使用tableview显示这个loggingtypes的几个属性(比如A,C和F)。 当我单击一个单元格时,它将显示此logging的详细信息(此logging的所有属性:ABCDEF,但不包括引用属性logging)。 我想知道当我第一次提取logging时,是否应该将这些东西存储到coredata中:“ACF和recordID”? 而当用户点击查看详细信息,我再次使用recordID获取? 关键是我应该使用什么属性types来存储CKRecordID / CKRecord? 我知道我可以将图像存储到本地caching文件(也令人困惑的..),但它不是一个持久存储的权利? 而我之所以不直接存储logging的所有属性,是因为这个logging是一个“邀请”,只有当用户select接受它时,才会下载包括一些引用types属性的所有属性。 任何帮助将是有益的,谢谢!

核心数据如何获取MOMD文件的path

哎大家,我已经看到这个问题,并已经使用 self.managedObjectContent= [NSManagedObjectModel mergedModelFromBundles:nil]; 在我的代码中,但是,我希望能够通过NSLog打印文件path到控制台的完整path的妈妈文件。 问题是我不知道如何去使用目标c提取MOMD资源的path,当我尝试loggingmanagedObjectContent来进行控制时,它最终打印了我甚至不关心的非常冗长的奥术数据。 那么我将如何去获取妈妈文件的path? 示例代码请! 提前致谢。

Coredata和生成NSManagedObject的子类与关系

使用选项“创buildNSManagedObject子类”为2个实体生成子类Xcode创build4个文件…好吧,我不明白如何使用创build的函数来pipe理关系 @interface Person (CoreDataGeneratedAccessors) – (void)addPersonContactObject:(Contacts *)value; – (void)removePersonContactObject:(Contacts *)value; – (void)addPersonContact:(NSSet *)values; – (void)removePersonContact:(NSSet *)values; @end 这只是接口,我有没有实现这些方法? 什么时候可以有用? 我发现一对多的关系是用NSSet来pipe理的…不是一个可变的对象,我怀疑是与这个有关的东西吗?

预加载核心数据库UIManagedDocument黑色

嗨支持专家…我正在写我的第一个iPad应用程序,并有一个工作testing版副本,分析一个XML文件,以创build一个UIManagedDocument核心数据数据库在应用程序启动。 然而,这需要很长时间,我想这样做一旦脱机,并包括最初的数据直接到我的应用程序包。 毋庸置疑,我打了一堵墙试图让它工作。 我第一次按照命令行实用工具的方法看到这里这工作,直到我导入.sqlite文件,并试图编辑persistentStoreCoordinator方法 – 我使用UIManagedDocument ,所以没有在我的AppDelegate的persistenStoreCoordinator方法 – 本页报价“在某些情况下,您不必编写任何代码来加载模型,如果您在Mac OS X上使用基于文档的应用程序,则NSPersistentDocumentpipe理为您查找和加载应用程序模型的任务。 然后我尝试从模拟器中的应用程序的工作版本复制UIManagedDocument按照此StackOverFlow问题这似乎工作,但persistentStore是空的,因此我的表也是。 这正是这里所要问的问题,但是对这个问题的回答让我马上回到修改我没有的NSPersistentStoreCoordinator方法。 我添加了一个testingNSFetchRequest到我的代码中,我从应用程序包中复制UIManagedDocument到文档目录 – 所以我知道我的应用程序包中的UIManagedDocument是空的。 我已经尝试拖放从发现者和应付使用terminal – persistentStore文件似乎被正确地移动和大小106 KB,但我仍然在我的应用程序中得到一个空的数据库。 任何build议如何让这个工作? 我需要使用configurePersistenStoreCoordinatorForURL:ofType:modleConfiguration:StoreOptions:error:根据UIManagedDocument类参考 – 如果是的话,我该怎么做呢? 我是否需要将一些核心数据方法添加到我的AppDelegate中,以便我可以修改persistenStoreCoordinator方法 – 如果有的话,该方法还需要做什么? 我是否更好地使用我的命令行创build的.sqlite数据库或persistentStore UIManagedDocument似乎使用?

iOS – 复制sqlite捆绑为CoreData

以下是我所做的:创build与应用程序的填充版本的SQLite文件。 将该文件复制到我的应用程序包中,确保目标已设置,并且存在于“复制包资源” 然后我尝试像这样填充核心数据: – (NSPersistentStoreCoordinator *)persistentStoreCoordinator { if (_persistentStoreCoordinator != nil) { return _persistentStoreCoordinator; } NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"TestModel.sqlite"]; if( ![[NSFileManager defaultManager] fileExistsAtPath:[storeURL path]] ) { // If there's no Data Store present (which is the case when the app first launches), identify the sqlite file we added in the Bundle Resources, copy […]

核心数据对象的生命周期和编译器优化

我有这两个帮手的方法。 将Xcode中的优化级别设置设为无(debugging模式的默认设置),代码工作正常。 但是,如果“优化级别”设置为None以外的任何值,则会生成testGetAllRecords中的日志(空)。 有什么build议,为什么这样performance? 我错过了什么? (正在使用ARC) +(NSArray *)getAllRecords { NSError *error; CoreDataController *coreDataController = [[CoreDataController alloc]init]; NSManagedObjectContext *context = [coreDataController managedObjectContext]; NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Group1" inManagedObjectContext:context]; [fetchRequest setEntity:entity]; NSSortDescriptor *sortByName = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; NSArray *sortDescriptors = [NSArray arrayWithObjects:sortByName, nil]; [fetchRequest setSortDescriptors:sortDescriptors]; NSArray *fetchedObjects = [context […]

核心数据 – DENY规则不删除与删除的源对象相关的目标对象

我有两张桌子。 作业和问题。 这两个表之间的关系太多了。 从作业中删除规则为DENY,从问题到作业为Nullify。 当一项任务被删除时,我想删除与该任务相关的所有问题,留下仍然有其他任务参考的问题。 这就是DENY删除规则从Assignment to Questions设置的原因。 在删除作业之前,我确保我从作业中删除问题参考,如下所示: Assignment *assignment = assignment to be deleted; for (SMQuestion *question in [assignment.questions allObjects]) { //NSLog(@"The Question ID is %@",question.questionId); //[question removeAssignmentsObject:assignment]; [assignment removeQuestionsObject:question]; //question.assignments = nil; } [[[CoreDataManager sharedObject] managedObjectContext] deleteObject:assignment]; [[[CoreDataManager sharedObject] managedObjectContext] save:&error]; 但删除作业后,没有问题从数据库中删除。 有什么我在这里做错了吗?

我可以在一个应用程序中创build一个核心数据对象图,然后在另一个预设状态下使用它吗?

现在,我的应用程序拥有大约5,000个词典的.plist,在运行时,我使用它来创build自定义类的5,000个对象。 每个包含几个string,一些布尔值等等。这是一个相当快的过程,需要几秒钟的时间,但是使用一个包含数千个对象的.plist有点笨拙。 我将迁移到Core Data(我以前从未使用过),所以最初的步骤是将数据从.plist获取到这些自定义对象中,然后将其保存在上下文中。 我观看过这些video,并且认为我可以做到这一点。 我的第一个问题是: 我可以在一个小的,独立的应用程序(称为ObjectMaker)中创build对象graphics和数据模型,然后将其保存在那里,然后导入.sqlite或任何格式的数据导出到实际的应用程序中在做什么? 从那里,我会执行所有的获取请求,进一步编辑和保存数据等。 我的第二个问题是: 是否有可能提供一个对象图的“首次启动状态”,用户可以首先打开我的应用程序(这些对象已经准备好并准备好被访问/查询等等)?我喜欢应用程序以.sqlite或任何格式将数据导出到ObjectMaker应用程序中,并且完全使用它,而不知道.plist是否存在。 非常感谢任何和所有的答案^ _ ^

是否有可能以编程方式生成核心数据结构?

我目前正在开发一个项目,这个项目可能需要能够根据描述每个对象的JSON提要自动生成一个Core Data模型和类,它是属性和关系。 这将使我们的公司能够在每个项目开始时从我们的客户关系pipe理中快速生成一个工作核心数据库。 这可能/容易实现? 如果是这样,有没有人有任何提示我可以开始? 我已经创build了各种使用Core Data的iOS应用程序,但是我从来没有创build过需要自动创buildCore Data模型的iOS应用程序。

Swift – 核心数据播种class

我正在按照目前的教程创build一个大的类来处理种子大数据库的数据。 Using Swift to Seed a Core Data Database 我的数据库使用JSON填充,但我想要复制作者在上面的文章中使用的模式。 在文章中他提到这种做法违反了一次性使用责任。 我知道,类应该承担一个单一的责任,但是考虑到像我这样的情况,当用户login时需要种大量的数据集,还有另外一种方法吗? 我很抱歉,如果这是一个煽动性的讨论,这不是我的意图,我的问题是这种播种方式在生产中是否司空见惯,如果不是,那么实施这种数据播种的最佳模式是什么。