Tag: 核心数据

添加到购物车function – 核心数据

我正在尝试为以下scheme创build最佳devise。 类别 – >产品列表 在显示产品列表的表格中,用户可以select将产品添加到购物车。 所以,无论何时用户打开购物车,他都可以看到他添加的所有产品。 我的问题是如何在Core Data中最好地设置这个function? 是维护一个单独的车实体的最佳解决scheme? 或者是一种关系正确的方法呢?如果是的话,请告诉我在购物车和产品之间应该有什么样的关系?

我应该使用REST API后端使用核心数据吗?

我有点困惑什么核心数据正是用于。 我已经search了很多,核心数据上的很多post都是关于使用核心数据本地存储。 目前,我正在使用REST API后端开发应用程序,并且使用AFNetworking来发送/接收对REST API的响应。 我想知道的是,如果我应该使用核心数据与REST API进行通信? 核心数据能做到这样的事情? 最好是使用核心数据还是使用AFNetworking ?

multithreading违反核心数据

我有一个应用程序,我在启动时使用操作列表下载数据,并随机崩溃,因为未知的核心数据原因,所以我花了几天的时间检查最佳实践,以使用MagicalRecord更新/获取multithreading核心数据中的数据。 其中一个选项是启用multithreadingdebugging器-com.apple.CoreData.ConcurrencyDebug 1 ,其中Xcode在违反其规则之一时停止应用程序。 所以,Xcode停止我的应用程序在这一行[SyncRequestEntity MR_createEntityInContext:[self getPrivateContext]] + (MagicalRecordVersionNumber) version { return MagicalRecordVersionNumber2_3; } @implementation NSManagedObjectContext (MagicalRecord) + (NSManagedObjectContext *) MR_context { return [self MR_contextWithParent:[self MR_rootSavingContext]]; } + (NSManagedObjectContext *) MR_contextWithParent:(NSManagedObjectContext *)parentContext { NSManagedObjectContext *context = [self MR_newPrivateQueueContext]; [context setParentContext:parentContext]; [context MR_obtainPermanentIDsBeforeSaving]; return context; } – (void) MR_obtainPermanentIDsBeforeSaving { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MR_contextWillSave:) name:NSManagedObjectContextWillSaveNotification object:self]; […]

RestKit 0.22:如何映射只有一个数组的firstObject?

我正在接收比需要更多的数据:我只想映射对象数组的第一个对象。 使用RestKit 0.22,如何映射下面的Json: { "name": "foobar", "tags": ["tag1", "tag2", "tag3"] } 使用以下模型: @property (nonatomic, retain) NSString *name; @property (nonatomic, retain) NSString *firstTag; 要映射name ,我有这样的代码: RKEntityMapping *mapping = [RKEntityMapping mappingForEntityForName:@"MyObjectModel" inManagedObjectStore:[RKManagedObjectStore defaultStore]]; [mapping addAttributeMappingsFromDictionary:@{@"name": @"name"}]; 要将firstObject的tags映射到firstTag ,我不知道如何继续。 注意: MyObjectModel是一个NSManagedObject ,所以firstTag是@dynamic 。

如何在Core Data上下文之外使用Core Data模型子类?

我试图在Swift中制作一个天气应用程序,它将保存我添加到Core Data的城市,每个城市都包含一个天气对象,该对象也保存到Core Data和其他各种variables。 但是我很快就发现,在核心数据上下文之外使用核心数据NSManagedObjects子类几乎是不可能的(处理NSNumber和类似的问题,没有自定义的初始化,被迫将它们保存在某个地方,如果我明天停止使用核心数据, 。 那么,继续使用核心数据的最佳做法是什么,但是还要在上下文之外使用模型? 我现在的解决scheme是为每个模型创build一个类,所以: class City { var country: String? var name: String? // … } 是相应的类: class CD_City { @NSManaged var country: String? @NSManaged var name: String? // … } 所以我可以在任何地方使用City ,无论如何我想要的。 但是我需要一个function来把一个City变成CD_City而且相反。 所以我真的不确定我是不是最好的方法。 另外你会推荐作为一种转换方法? (仅供参考,我使用MagicalRecord作为核心数据帮手)

POST请求后删除CoreData对象

我正在使用RestKit 0.20.3和CoreDatacaching我的Web服务的结果。 我需要从CoreData中删除所有不在响应中的对象,所以我使用[RKObjectManager addFetchRequestBlock] 。 一切工作正常,当我做GET请求,但是当我做POST请求的对象不被删除在CoreData中,我想,因为deleteLocalObjectsMissingFromMappingResult只与GET请求完成。 我明白,在RESTfull体系结构中,POST请求用于更新服务器端的实体,但在我的情况下,Web服务提供searchfunction,并在POST中占用大量可选参数。 有没有办法configurationRestKit甚至在POST请求后进行删除? 如果没有,我是否需要在每个请求结束时手动删除,还是有另一种更好的方法?

更新应用程序以使用先前双SQLite持久性存储的Core Data

我目前正在升级使用两个SQLite dbs的旧版iPhone闪存卡应用程序(其中一个只能通过应用程序更新,删除卡,添加卡,卡更新以及另一个用户添加它们的只读问题自己的自定义卡),而不是使用核心数据。 用于区分只读卡和用户添加卡的“Flashcard”对象的唯一属性是“isCustom”属性。 以下是我认为有必要这样做的步骤: (首先从2个SQLite数据库更新到CoreData) 从用户自定义卡数据库获取所有自定义卡条目。 使用只读卡添加新的Core Data对象模型,然后将用户添加的自定义卡加载到此模型中。 删除旧的SQLite数据库(自定义卡数据库和只读卡数据库)。 (将来会有一个核心数据模型的更新) 从当前核心数据持久性存储中获取所有定制卡片。 将所有自定义卡迁移到新的Core Data持久性存储。 我只想确定在开始从头开始devise这个系统之前,这是否是一条路。 任何提示将不胜感激。

使用获取的请求sorting描述符

我有我的sorting描述符的问题。 我正在获取一个足球俱乐部的排名。 这是我的web服务如何给数据返回。 "ranking": [ { "type": "competitie", "position": "1", "name": "Club Brugge", "gamesPlayed": "10", "gamesWon": "6", "gamesTied": "4", "gamesLost": "0", "goalsPos": "25", "goalsNeg": "12", "goalsDiff": 13, "points": "22" } 这是我的提取请求。 – (void)getKlassement // attaches an NSFetchRequest to this UITableViewController { NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Klassement"]; request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"position" ascending:YES]]; self.fetchedResultsController = [[NSFetchedResultsController […]

在unit testing中CoreData类错过匹配

当我尝试从我的模型中检索项目的数组时,我总是得到一个向下的转换错误,因为类的types不匹配。 Swift有一个严格的命名空间,模型项目与我想要的项目不同。 这是我的NSManagedObject: import Foundation import CoreData @objc(Boss) class Boss: NSManagedObject { @NSManaged var name: String } Testclass如下: func testCheckIfFetchGetTheCorrectClass() { // setup item let entity = NSEntityDescription.entityForName("Boss", inManagedObjectContext: moc) let boss = Boss(entity: entity!, insertIntoManagedObjectContext: moc) boss.name = "Chef" var bosses = [Boss]() var request = NSFetchRequest(entityName: "Boss") var e: NSError? if let results […]

在应用上的许多用户之间共享核心数据

我想开发一个iOS应用程序作为许多用户的平台。 是否可以启用我的应用程序的多个用户共享同一个核心数据数据库上的资源?