Tag: 核心数据

为什么核心数据pipe理对象中的NSDate转换为NSTimeInterval?

我有一个与我的xcdatamodeld对象中定义的datetypes属性的对象。 为什么用NSTimeInterval生成NSManagedObject类? 如何设置一个NSDate,然后得到一个NSDate呢?

NSPredicate在年份之前过滤

我使用核心数据来存储我的数据模型对象。 每个对象都有NSDate属性。 NSDate属性的格式如下: 2013-03-18 12:50:31 +0000 我需要创build一个谓词,它将在没有时间的情况下通过这个值来获取我的对象。

iOS核心数据encryption

我一直在使用Apple文档中提供的“SecKeyWrapper”类来encryption核心数据字段。 SecKeyWrapper类是非ARC的。 我想知道这是否仍然是encryption核心数据字段的最佳方法,或者是否有更新/更好的解决scheme? 谢谢

CoreData – 一对多的build模关系是一对一的

我是核心数据build模的新手,我很难理解一对多关系是如何工作的。 我有一个名为Task的父实体,它可以有多个Comment实体的实例。 我这样build模:在Comments ,与Task的关系称为task , Task实体是目的地。 在“ Task ,一种叫做“ comments的关系,以“ Comment作为其目的地,两种关系都是相反的。 不定义反转会导致警告或错误消息。 虽然这种方式的build模工作,我注意到,一旦我给一个给定的Task创build第二个评论,第一个被replace(一对一的关系)。 告诉核心数据模型的正确方法是什么?这种关系在一个Task允许许多评论? 此外,由于CoreData似乎自行pipe理主键,我将如何创build一个NSPredicate来检索给定任务的所有注释? 感谢您的任何build议!

NSFetchedResultsController不会调用controllerDidChangeContent:更新到未获取的NSManagedObject

我填充并save:一个初始的NSManagedObjectContext 用一个不同的NSManagedObjectContext设置一个NSManagedObjectContext ,它过滤一个boolean “show”属性。 最后在另一个NSManagedObjectContext上更新“show”并save: 。 我期望这应该会导致我的NSFetchedResultsController调用NSFetchedResultsControllerDelegate的controllerDidChangeContent: NSFetchedResultsControllerDelegate 我从来没有接到这个电话。 具有谓词的NSFetchedResultsController忽略从不同的NSManagedObjectContext合并的更改中 接受的答案,表明除了controllerDidChangeContent: ,我应该得到一个NSManagedObjectContextObjectsDidChangeNotification ,但是我也没有收到。 一个完整的代码示例包含在下面和github上 。 我已经向苹果提交了一个雷达 。 @interface HJBFoo : NSManagedObject @property (nonatomic, retain) NSString *name; @property (nonatomic, retain) NSNumber *show; @end @interface HJBAppDelegate () <NSFetchedResultsControllerDelegate> @property (nonatomic, strong) NSPersistentStoreCoordinator *persistentStoreCoordinator; @property (nonatomic, strong) NSManagedObjectContext *initialManagedObjectContext; @property (nonatomic, strong) NSManagedObjectContext *fetchedResultsControllerManagedObjectContext; @property (nonatomic, strong) NSFetchedResultsController […]

错误:UITableView跳到UITableViewAutomaticDimension顶部

我正在使用UITableView与estimatedRowHeight和UITableViewAutomaticDimension 。 另外我正在使用NSFetchedResultsControllerDelegate来反映更改。 一切都很好。 现在的问题是,当我添加一些logging到CoreData , CoreData调用它的委托,但一个意想不到的事情发生。 每次TableView突然滚动到顶部。 NSFetchedResultsControllerDelegate func controllerWillChangeContent(controller: NSFetchedResultsController) { tableView.beginUpdates() } func controllerDidChangeContent(controller: NSFetchedResultsController) { tableView.endUpdates() } func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) { switch type { case .Insert: tableView.insertRowsAtIndexPaths([newIndexPath!], withRowAnimation: .None) break case .Update: tableView.reloadRowsAtIndexPaths([indexPath!], withRowAnimation: .None) break case .Delete: tableView.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: […]

insertObject:atIndex:iOS6上的exception

我在iOS6上获得以下exception(在具有CoreData的应用程序上): “2012-10-15 10:21:28.952 MyApp [68650:c07] *终止应用程序由于未捕获的exception'NSInvalidArgumentException',原因:'* – [__ NSArrayM insertObject:atIndex:]:对象不能为零*堆栈:(0x28e6012 0x2659e7e 0x2899b6a 0x2899a20 0x1646941 0x1642c67 0x164f846 0x164f908 0x6c540 0x2057e83 0x28a5376 0x28a4e06 0x288ca82 0x288bf44 0x288be1b 0x33967e3 0x3396668 0x15a165c 0x13a22 0x2845)libc ++ abi.dylib:terminate调用抛出exception“ 这在iOS5上不会发生,所以iOS6上发生了一些我不明白的事情。 我在每一个我调用insertObject:atIndex的地方设置一个断点:但是这些不被调用 – 它必须是在这个libc ++ abi.dylib中被调用和崩溃的东西。 有谁知道什么可能是错的? 谢谢

核心数据存储包括在应用程序包中

我无法在Apple文档中find这些步骤的清晰描述… 我在我的xcode项目中有一个xcdatamodeld 在启动时,我的应用程序parsing一个XML(项目资源)来填充核心数据存储(SQLLite) 在我的应用程序的生命周期中,我添加,删除,更新该商店的数据 现在,我想停止在设备上执行沉重的XMLparsing过程,并直接包含一个包含所需数据的Store。 我有这方面的一些问题: 我可以使用OS X应用程序填充商店,然后将此商店包含在我的XCode-iOs项目中吗? 我的商店没有出现在Xcode中。 实际上它是在运行时创build的。 如何在项目中添加商店并将其链接到我的xcdatamodeld? 我已经读过,这样做会阻止我的商店被写入…我想我必须在发布时将其复制到正确的位置(Core Data实用程序教程是一个很好的帮助)。 我对吗 ? 感谢您的提示。 URL或其他SO问题将非常感激! Kheraud

如何打印核心数据debugging值?

如何在使用核心数据SQLdebugging时打印发送到sqlite数据库的值? 在我的“ 启动时传递的参数 ”debugging选项中使用“ -com.apple.CoreData.SQLDebug 1 ”打印SQL结构就好了 (你可以查看如何使用这里: XCode4和核心数据:如何启用SQLdebugging ) 但问题是,打印的NSLog是像UPDATE ZTABLE SET ZCOLUMN = ? WHERE ZID = ? UPDATE ZTABLE SET ZCOLUMN = ? WHERE ZID = ? 如果试图查看发送到数据库的完整SQL语句和/或数据,它根本没有任何帮助。

有没有可用于iOS的数据绑定机制?

在.NET中,我只是做一些像DataForm.Source = Object,然后魔术发生。 平台将数据从UI文件更改为对象属性,进行validation等等。 我可以做与Cocoa Touch和CoreData对象类似的东西吗?