Tag: 核心数据

RestKit:映射JSONstring数组

鉴于以下JSON: { "someKey":"someValue", "otherKey":"otherValue", "features":[ "feature1", "feature2", "feature3" ] } 我使用RKMapperOperation和RKEntityMapping将这个JSON映射到NSManagedObject (在这个例子中,我将有2个实体映射:一个用于顶层对象,另一个用于我的Feature类)。 顶级对象映射是微不足道的:两个属性映射加上与特征关系的关系(特征)。 我的问题是,如何将functionJSON数组映射到一个Feature对象的数组? Feature类只有一个属性name ,我想在其中存储“feature1”,“feature2”等,并加上对父对象(顶层)的引用。 像这样的东西: @interface Feature : NSManagedObject //In the implementation file both properties are declared with @dynamic. @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) MyTopLevelObject *myTopLevelObject; @end 任何想法?

核心数据keyPathsForValuesAffectingValueForKey只调用关系,而不是属性

我正在使用核心数据来模拟具有属性和关系的实体。 我想使其中一个属性依赖于另外两个关系。 核心数据常见问题解答和其他一些示例使用+(NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key来达到此目的。 但是,这似乎只是要求我的所有关系属性,而不是任何属性。 另外keyPathsForValuesAffecting<key>永远不会被我的任何属性调用。 这是正常的行为,还是我错过了什么? 如何根据其他属性或属性计算一个属性,例如。 距离,通过设置一个startLocation和一个stopLocation?

iPhone模拟器在哪里保存sqllite数据库

我在这个问题上看到过这个问题 – 但是答案似乎总是大致相同: /Users/myName/Library/Application Support/iPhone Simulator/4.2/ … 看到相关的问题: iOS 4.2模拟器文件? iPhone模拟器在哪里存储数据? 数据库存储在iPhone模拟器(Mac OS)? 然而 – 当我在我的机器上似乎没有这条路。 我的用户文件夹中没有“库”文件夹 我可以在驱动器的根目录find一个库文件夹,里面有一个应用程序支持文件夹 – 但是那里没有iPhone Simulator子文件夹。 唯一的地方,我可以find一个iPhone模拟器文件夹是实际的模拟器可执行文件的存储位置 – 但似乎没有任何数据文件。 我有Mac OS X 10.7.4和Xcode 4.2 一切似乎工作正常 – 我可以运行模拟器,并使用数据库 – 我只是无法find它存储在主机上。 有没有其他的标准文件夹可以保存这些数据?

使用iOS中的Core Data进行数据encryption

我只需要确认一下。 对于iPhone 3GS及以上版本,写入文件系统的任何数据都使用硬件encryption进行encryption,是否正确? 通过简单地在文件系统上创buildXXX.sqlite文件,存储在其中的数据已经被encryption。 也为了进一步的安全NSFileProtectionComplete提供? 谢谢。

Swift:将CoreData作为数组获取

我想要获取sqlite表中的所有保存的数据。 我目前正在这样做: func GetAllData() -> NSArray { var error : NSError? = nil; var request : NSFetchRequest = NSFetchRequest(entityName: "Locations"); let result : [AnyObject] = managedObjectContext!.executeFetchRequest(request, error:&error)!; var elements : NSMutableArray = NSMutableArray(); for fetchedObject in result { elements.addObject(fetchedObject[0]); } print(elements); return elements; } 我没有任何问题在Objective-C中获取数据,但在迅速,我没有得到它! 数据的保存工作正常。 我有两行“名称”和“类别”。 我怎样才能显示所有保存的数据?

如何将NSManagedObject转换为NSDictionary

我试图将NSManagedObject转换为NSDictionary这是我试过: var keys:NSArray = order?.entity.attributesByName.keys var dict:NSDictionary = order?.dictionaryWithValuesForKeys(keys) 但是我得到错误: LazyForwardCollection<MapCollectionView<Dictionary<NSObject, AnyObject>, NSObject>>? is not convertible to NSArray. 我在这里做错了什么?

我可以在Core Data中访问用于外部二进制存储的文件吗?

我正在处理媒体数据库应用程序。 我有一个数据存储自定义模型,并考虑将其重写到核心数据。 一个特别感兴趣的用例是电影存储。 我将电影文件存储在数据库中,但媒体框架只能从文件(而不是数据)中读取电影。 核心数据提供了一个称为“外部二进制存储”的便利function,其中实体数据不存储在数据库中,而是存储在外部文件中。 这对Core Data API用户是透明的。 我的问题是,我可以得到外部文件的path,以便我可以使用核心数据存储电影,然后轻松地从其核心数据外部文件加载它?

如何防止核心数据在iOS 5中重复?

我遇到了一个问题。 在这个周末里,我一直在从一个web服务中抽取一个大XML的项目。 它基本上有3层 – 客户,经理,员工都是分层次的。 因此,第一次运行应用程序时,它会调用这个xml并parsing它,并在3个相关的实体 – 客户端,pipe理者和员工中创build所有条目。 每当应用程序启动,我需要拉同样的XML,但这次,我只需要“更新”任何已经改变的现有logging,或者为自上一次出现的新客户,经理或员工添加新的logging时间。 所以 – 正如我所说的那样,它正在全力以赴地parsing它,并创build正确的实体并填充所有的属性。 但是,在没有数据变化的情况下,在第二次启动时,它将DUPLICATING所有数据 – 而不是15个客户端(正确的数字),我有30个,等等。 我真的不得不在我的parsing中添加很多代码来检查,而不是创build一个新的NSManagedObject,我检查它是否已经在那里? 如果是 – 我必须手动检查每个属性? 这是非常痛苦和长期的 – 是不是有一种方法可以使Core Data自动完成这些工作? 感谢您的任何帮助或build议。

sorting核心数据实体的最佳方法是什么?

我有一个完整的核心数据模型,但是当我使用提取请求返回数据时,它看起来是随机的。 sorting这些数据的最好方法是什么? 是在核心数据模型中使用另一个表,并“查询”第一个? 或者是将数据拉入数组,然后按这种方式sorting? 我不太清楚如何做这两个,这就是我问这个问题的原因。

核心数据关系:如何将新对象插入到实体中,并与另一个实体中的现有对象build立关系

我正在构build一个小的iPhone应用程序,它允许用户保持与朋友一起玩游戏的分数。 我现在需要在核心数据中使用关系,但似乎无法使其工作。 我希望能够将新数据添加到一个实体中,同时创build与另一个实体中现有数据的关系。 我怎样才能做到这一点? 请注意我是Core Data的新手,并且花费了今天最好的一部分来解决这个问题,但运气不佳。 任何帮助将非常感激。 我有3个实体: 分数 , 游戏和玩家 。 分数属性: date , player1Score , player2Score和status 。 游戏属性: title 。 玩家属性: name 。 我有许多关系( 比赛 “—” 游戏 )和( 得分 << — >> 玩家 ) 我已经有了一个游戏和玩家的列表。 用户select哪个游戏和谁在玩,并且利用这个信息,在Scores实体中创build了一组对象,并与所select的游戏和玩家有关系。 这是我的来源: // Scores.h #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class Games, Players; @interface Scores : NSManagedObject @property (nonatomic, retain) […]