Tag: 核心数据

核心数据迁移的例子

我读过名为“ 核心数据模型版本控制和数据迁移编程指南”的文档。 但是我仍然没有很多的技巧。 所以我想发表一个我遇到的例子。 我有两个实体Rule和Instance 。 Rule有一个名为identifier的属性。 Instance也有一个名为identifier的属性。 每个Rule都有一个唯一的标识符,每个实例的identifier与Rules一个相同。 这就像Rule和Instance之间的很多关系(它应该是)。 在我的数据模型的新版本中,我想要在Rule和Instance之间build立一对多关系,如何进行迁移?

OpenWithCompletionHandler完成后如何返回结果

想要查询Coredata数据库中的照片 这是我的代码 这是NSObjectSubclass类别 //Photo+creak.h #import "Photo+creat.h" @implementation Photo (creat) +(Photo *)creatPhotoByString:(NSString *)photoName inManagedObjectContext:(NSManagedObjectContext *)context{ Photo *picture = nil; NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Photo"]; request.predicate = [NSPredicate predicateWithFormat:@"name = %@", photoName]; NSArray *matches = [context executeFetchRequest:request error:nil]; if (!matches || [matches count]>1) { //error } else if ([matches count] == 0) { picture = [NSEntityDescription insertNewObjectForEntityForName:@"Photo" […]

从集合视图移动到详细视图时如何使用CoreData

我有一个IOS应用程序正在使用RestKit从服务器将JSON格式的数据拉到CoreData实体。 该实体的一些属性帮助填充每个单元格的图像和标题的集合视图。 我试图从一个单元格被选中时从集合视图移动到一个细节视图。 CoreData实体有一个“summary”属性,我想在详细视图中显示图像。 我知道我可以通过prepareForSegue方法传递数据。 但我不知道如何指定我想传递的图像和摘要数据 。 也许传递图像和总结不是正确的方法? 我应该通过managedObjectContext到详细信息视图控制器,并从那里获取结果? 这里是我的CollectionView是如何填充的。 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; MyNewsCollectionViewCell *cell = (MyNewsCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath]; NSURL *photoURL = [NSURL URLWithString:(NSString *) [object valueForKey:@"imageUrl"]]; NSData *photoData = [NSData dataWithContentsOfURL:photoURL]; [cell.cellimg setImage:[[UIImage alloc] initWithData:photoData]]; [cell.title setText:[object valueForKey:@"title"]]; return […]

Swift核心数据不会永久存储数据

我也有( 这家伙 )同样的问题,但他不告诉解决scheme。 所以,我不得不问你怎么办? 我有一个实体称为兔子,属性是birth_date,breed_date,cage_no,dam_earnum,nes_date,pal_date,rabbit_id,sire_earnum 我的核心数据存储: var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate) var context:NSManagedObjectContext = appDel.managedObjectContext! var request = NSFetchRequest(entityName: "Rabbits") var result:NSArray = context.executeFetchRequest(request, error: nil)! request.includesSubentities = false request.returnsObjectsAsFaults = false var rabbits = NSEntityDescription.insertNewObjectForEntityForName("Rabbits", inManagedObjectContext: context) as! NSManagedObject rabbits.setValue(buckTextField.text, forKey: "sire_earnum") rabbits.setValue(doeTextField.text, forKey: "dam_earnum") rabbits.setValue(cageTextField.text, forKey: "cage_no") rabbits.setValue(breedDate, forKey: "breed_date") rabbits.setValue(palDate, forKey: […]

NSPersistentStoreCoordinator在读取特定NSManagedProperty后释放NSManagedObject时抛出EXC_BAD_ACCESS

错误说明 我有一个使用核心数据(由SQLite支持)和以下NSManagedObject子类本地存储的一些应用程序 import CoreData @objc(ScoutingEventData) class ScoutingEventData: NSManagedObject { @NSManaged var id: String? @NSManaged var type: String? @NSManaged var entityId: String? @NSManaged var oldStateJson: NSData? @NSManaged var newStateJson: NSData? @NSManaged var eventDate: NSDate? func toInsertEvent() throws -> ScoutingEvent.Insert { guard let id = id else { fatalError("events should have an event id") } guard let […]

核心数据一对多Swift

我的问题是关于Core Data one-to-many relationship ,现在我的应用程序可以让用户input员工信息并保存到core data ,然后更新employee表视图。 我面临的问题是employee与分娩之间的关系。 我目前正在试图显示一个特定的employee在employee表视图中点击员工时交付。 从员工tableView中select一个员工后,我希望它继续到另一个tableview,并显示在另一个UITableview的员工交付。 我正在努力实现的是: 1) Display Specific Employee's Deliveries 2) Add deliveries to the NSSet 这是我的两个managedObjects extension Delievery { @NSManaged var address: String? @NSManaged var phoneNumber: String? @NSManaged var subTotal: NSNumber? @NSManaged var total: NSNumber? @NSManaged var employee: Employee? } extension Employee { @NSManaged var first: String? @NSManaged […]

ios – 使用线程和核心数据时的错误(objective-c)

制定一种方法删除核心数据,然后在后台添加(所以核心数据可以更新) (void) resetDatabase { dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){ ConDAO *con = [[ConDAO alloc] init]; DatabaseManager *manager = [DatabaseManager sharedManager]; NSError * error; NSURL * storeURL = [[[manager managedObjectContext] persistentStoreCoordinator] URLForPersistentStore:[[[[manager managedObjectContext] persistentStoreCoordinator] persistentStores] lastObject]]; [[manager managedObjectContext] reset];//to drop pending changes if ([[[manager managedObjectContext] persistentStoreCoordinator] removePersistentStore:[[[[manager managedObjectContext] persistentStoreCoordinator] persistentStores] lastObject] error:&error]) { // remove the file […]

swift – JSON到NSManagedObject

我有一个JSON数据,当我第一次启动加载我的tableview时,我想映射到CoreData。 我在cellForRowAtIndexPath中find了一种方法,但是这种方式只能在显示单元格时将数据保存到CoreData中。 我想为所有细胞做一次。 var yazarMakaleListesi: [JSON]? = [] var authorList = [AuthorList]() // My CoreData override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell = tableView.dequeueReusableCellWithIdentifier("YazarCell") as! YazarTableViewCell cell.yazar = self.yazarMakaleListesi?[indexPath.row] cell.yazar = self.yazarMakaleListesi?[indexPath.row] let authorName = self.yazarMakaleListesi?[indexPath.row]["author_name"].string let authorID = self.yazarMakaleListesi?[indexPath.row]["author_id"].int let authorImage = self.yazarMakaleListesi?[indexPath.row]["author_image"].string let newspaperID = self.yazarMakaleListesi?[indexPath.row]["newspaper_id"].string let newspaperName […]

如何在CoreData中显示NSLog中的详细信息? build议我一个解决scheme

我正在使用foliowin函数来获取应用程序中的所有logging -(NSArray*)recordsInTable:(NSString*)tableName andManageObjectContext:(NSManagedObjectContext *)manageObjContext { NSError *error=nil; // **** log objects currently in database **** // create fetch object, this object fetch's the objects out of the database NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName: tableName inManagedObjectContext:manageObjContext]; [fetchRequest setEntity:entity]; NSArray *fetchedObjects = [manageObjContext executeFetchRequest:fetchRequest error:&error]; return fetchedObjects; } 并使用下面的代码来获取logging NSArray *records=[dbAccessObj […]

核心数据与SQLite

我正在写一个琐事程序,其中将有数百个问题集。 该应用程序将预先加载一些测验,但他们需要下载进一步的测验,一旦下载将存储在应用程序,以便用户可以离线播放它们。 在这个特定的例子中,我会更好地使用核心数据或SQLite。 提前致谢。