原始问题已得到回答。更新评论中提出的相关问题。
原职:
我使用的是苹果电脑中使用的MOC保存方法。然而,我似乎使用了两层MOC合并(三层MOC,其中第三层与第二层合并,然后第二层与第一层合并)
首先,我有一个表视图(ClassList),列出了学校的班级。选择一个类会推送一个2行的tableview(AddClass)。在AddClass,第一行允许用户编辑类标题。选择第二行将推送一个表视图(ClassFloster),其中显示该类的学生花名册。最后,选择一个学生会打开另一个2行的tablevi
我目前正在使用一个NSPersistentDocument子类,它使用NSOperation在后台导入数据。根据文档,在后台任务中保存并使用-mergeChangesFromContextDidSaveNotification:将通知传播到主线程中的NSManagedObjectContext之后,我正在观察NSManagedObjectContextDidSaveNotification
一切正常,但对于正在将数据导入新文档的用户来说,它提供了一个奇怪的工作流。他们需要在导入之前保存一个空文档
我试图解析大量文本文件,并将其内容组织为托管对象。文本文件中有很多重复项,因此“辅助”任务之一就是清除它们
在这方面,我试图做的是检查具有给定内容的实体是否存在,如果不存在,则创建一个实体。但是,我有不同的实体,具有不同的属性和关系。我想要的是一种函数,它可以将多个属性作为输入,并返回一个新的NSManagedObject实例,我不必担心它是否插入到数据存储中或从中获取
有吗
我还必须说,我是核心数据的noob
如果需要,请提供更多详细信息:
我想写一本字典。我有words(Word{NSSt
我正在开发一个应用程序,需要更新xcdatamodel文件
因此,我创建了一个新文件:
我有model.xcdatamodel
现在我有了model2.xcdatamodel
但是,该应用程序似乎仍在使用model.xcdatamodel。如何将其更改为指向model2.xcdatamodel?
我看到model.xcdatamodel旁边有一个“绿色复选图标”
谢谢你,
我明白了。只需选择model.xcdatamodeld(即所有xcdatamodel文件的父级)并将“版本化的核心数据模型”
好的,伙计们。这件事把我逼疯了。我有
UIManagedDocument及其2个MoContext(常规和父级)
一个UITableViewController(Paul Hegarty将其子类化为CoreDataTableViewController),运行于
NSFetchedResultsController
后台GCD队列,用于与父提示访问的服务器同步
我尝试过很多不同的方法,每次都遇到问题
当我添加一个新的“动物”实体时,它不会有问题,并且会立即显示在表上。但是,当我将它上传到服务
我正在开发我的第一个iCloud应用程序。工作一段时间后,由于“UIDocumentStateSavingError”,应用程序无法再访问UIManagedDocument。有没有办法真正找出发生了什么错误
这是我创建UIManagedDocument的代码:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
iCloudURL = [[NSFileManager defaul
我正在寻找一种能够确保线程安全的“获取或创建”的CoreData设计模式。我有一种情况,两个不同的线程可能在同一时间寻找同一条记录。如果未找到该记录,则线程将创建一条记录。不幸的是,两个线程都找不到此记录,因此它们都创建了相同的记录。t Reddy
实现这一点的一种方法是使用一个私有排队的MOC来完成所有的创建——如果您愿意,可以使用一个创建MOC。通过这种方式,您可以从您想要的任何MOC进行提取,如果提取失败,您可以在创建MOC上重新执行提取,如果提取失败,则创建它。这一纪律将迫使你总是有秩序
它们应该是一样的吗?父级的并发类型是什么
每次孩子执行executeFetchRequest时,都会询问家长。如果来自不同线程的多个子线程在同一类型上执行executeFetchRequest呢
如果父线程被声明为具有主Concurence类型,然后另一个线程上的子线程执行executeFetchRequest,会发生什么情况?它会等到主线程运行,然后给出结果,然后继续线程吗?什么的
基本上,我有各种各样的等待锁问题,我想了解更多关于这一点
事实上,如果网上有一个关于多线程的父线程和子线程关系的
当核心数据更改本地存储时,是否有方法为日志显示的通知添加观察者
[PFUbiquitySwitchboardEntryMetadata setUseLocalStorage:(754):核心数据:Ubiquity:mobile~E358C294-F23E-4FBA-8DA6-869A3A848906:R63H5582LG~com~Test~Tester
使用本地存储:0
我这样问是因为我想知道哪些本地存储核心数据已更改。
非常感谢 不幸的是,从使用本地存储:1到使用本地存储:0的转变并不像看上去
我有一个使用UIManagedDocument启动核心数据的应用程序,我对使用MagicalRecord感兴趣
应用程序的用户在核心数据中可能有10000条记录,因此我希望避免手动数据迁移,那么有没有办法使用UIManagedDocument创建的现有数据存储启动MagicalRecord
我有这种情况-
组实体与名为latestEvent的事件实体处于一对一关系中
Evententity有一个名为“WeddingEvent”的子实体,它是许多子事件之一
WeddingEvent是唯一拥有名为present
如果latestEvent属于“婚礼事件”,我试图过滤Group以使其不被提取
由于无法按类名或entityName获取,我尝试了:
NSPredicate *LatestEventValidity = [NSPredicate predicateWithFormat:@"la
我有一个在线SQL数据库,需要与我的应用程序的核心数据持久存储同步。是否有一种只向核心数据写入当前不存在的数据的简单方法
例如:
如果SQL数据库当前包含3条记录:A、B和C
核心数据目前仅包含A和B
我只想在同步过程中将C添加到核心数据中
我可以做一系列的循环来检查每条记录,但有没有更简单的方法?所有记录都是唯一的,因此可能有一种方法可以将核心数据属性设置为主键。为在线数据库记录提供一个上次更新的属性。跟踪您的核心数据存储上次更新的时间。同步时,仅处理自上次本地更新以来更改的远程记录
使用fi
我有两个与CoreData一起存储的字符串,我想在tableview单元格中显示它们
我试过:
cell.textLabel.text = data.valueForKey("firstName, lastName") as? String
“firstName”是一个键,“lastName”是另一个键,但这不会编译。当我输入这样的倍数时:
cell.textLabel.text = data.valueForKey("firstName") as? String
cell.textLabel
这给我带来了一个错误:
var appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
let documentsDirectory:NSURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL
let storeUrl:N
我正在WatchKit扩展中读取CoreData数据库,并从父iPhone应用程序更改存储。我想使用NSFetchedResultsController驱动对监视UI的更改,但扩展中的NSFetchedResultsController不响应对父应用程序中的存储所做的更改。有没有办法让第二个流程响应第一个流程中所做的更改?一些需要尝试/考虑的事情:
是否已启用应用程序组?
如果是,您的数据存储是否位于主机应用程序和扩展之间共享的位置?
如果删除缓存数据有帮助,请阅读以下类似问题的答案:
还要确保
我是Swift的新手,我正在努力学习如何使用核心数据。但是我犯了这个错误,我不确定我做错了什么。我在网上搜索过,尝试过一些东西,但都没有找到正确的答案
Failed to call designated initializer on NSManagedObject class 'FirstCoreData.Course'
执行此行时:
ncvc.currentCourse = newCourse
在该功能中:
class TableViewController: UITableViewCon
我想要核心数据中字段的最大值,因此我设置了以下请求:
// Create fetch
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
[fetch setEntity:[NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:context]];
[fetch setResultType:NSDictionaryResultType];
// Expr
标签: Core Data
entity-relationshipnsfetchrequest
我想与核心数据中的两个实体建立基本关系,但这种关系要么没有保存,要么工作不正常,我不知道为什么
这两个实体是角色和化身,是一对一的关系。一个角色可以有一个化身。从技术上讲,它应该是一个“一个化身可以被许多角色拥有”,但我会在后面处理这个问题
我想添加角色并给他们分配一个化身
核心数据中已经有10个化身和1个角色,我已经通过终端和SQLite验证了这两个角色
问题是,我有麻烦“通过名字找到一个化身,然后将关系保存到一个角色”
到目前为止,
我设置了一个名为“frqAvatarWithName”的获
我对CoreData应用程序有问题。。。当您选择使用核心数据进行存储时,它会在苹果提供的锅炉板代码上崩溃
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel_ != nil) {
return managedObjectModel_;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"iLoveForLife" ofTy
我想知道如何在sqlite3_column_text返回的c字符串中设置work换行控制字符。例如,这是从查询返回到sqlite数据库的文本:
"Lorem ipsum\ndolor sit amet,\nconsectetur\nadipiscing elit."
这是我用来获取它的代码:
char *body = (char *)sqlite3_column_text(statement, 1);
NSString *str = (body)?[NSString stringWithUTF
我有几个MacOS的核心数据项目是从Xcode 3开始的,它在Xcode 4中表现良好,特别是在撤消/重做管理方面。
但是现在我从Xcode 4开始了一个新的核心数据项目,我面临着撤销的问题:Undo和Redo菜单项链接到第一响应者的Undo:\Redo:方法,就像Xcode 3创建的项目一样;但菜单始终处于禁用状态。
因此,我将菜单项的Enabled属性绑定到managedObjectContext.undoManager.canUndo/canRedo:当用户更改对象时,这将启用菜单,但无论
我正在尝试使我的iOS6.0应用程序与5.1兼容。我已经关掉了一些显而易见的东西(例如自动布局),但我却陷入了一个奇怪的阶段
我的应用程序从XML源获取数据,并将其放入核心日期结构中。在iOS 6上,这非常有效。在iOS 5上,它会卡在这里
else if (self.dataStorage.documentState == UIDocumentStateClosed) {
NSLog(@"THIS FIRES = db on disk but closed");
[self.dat
标签: Core Data
nsmanagedobjectnsmanagedobjectcontextnscodinguikit-state-preservation
我使用CoreData管理我的应用程序数据模型。我在编辑视图控制器中使用子托管对象上下文,以便保存或放弃用户所做的更改
我创建子上下文如下所示:
NSManagedObjectContext* mainMoc = <my main context>;
NSManagedObjectContext* editMoc = [[NSManagedObjectContext alloc] init];
editMoc.parentContext = mainMoc;
[editMoc s
标签: Core Data
nsmanagedobjectobjective-c-category
我有两个实体:
票
票务解决
两个实体具有相同的属性。将票据NSManagedObject复制到票据解决NSManagedObject的最有效方法是什么
我在考虑使用一个类别:Ticket+Copy是最便宜的方式吗?如果是这样,我将不得不在类别文件中导入票证和票证解决方案
这是我的想法,请有人告诉我这是不是正确的方法。我正在为每个实体使用NSManagedObjectSubclass
票证+副本中的方法:
-(TicketResolved *)copyObjects:(Ticket *)ti
我有一个NSdatepicker,当我更改年份时,它会将另一个NSTextFile的值更改为到现在为止的年数,如下所示:
- ( IBAction)setExp:(id)sender {
NSDateFormatter *df = [NSDateFormatter new];
[df setDateFormat:@"yyyy"];
NSString *TodayString = [df stringFromDate:[NSDate date]];
NSString *TargetDateS
标签: Core Data
nsmanagedobjectkey-value-observingkvc
一般来说。。。在NSManagedObject类中,在给定float动态属性的一个setter中,可以对该setter中相同NSManagedObject的其他float动态属性使用点语法getter吗?或者,在访问某个值时,我是否需要使用符合KVC的CoreData访问器,即使它来自与所访问值的实际getter不同的方法?我假设以这种方式调用点语法会触发我的另一个自定义访问器,这对我来说没问题,因为里面有正确的KVC原语访问器。但我似乎遇到了一些奇怪的问题,点语法要么失败了,要么出现了不可预测
标签: Core Data
many-to-manydata-modelingpredicatensfetchrequest
在我使用的数据模型的一部分中-
Department <-->> Person <<-->> Project
我试图获取一个包含所有项目的数组,然后列出departmentA中所有项目匹配的人员。这可能吗?这是正确的方向吗 您是否已经有Entity3实例的列表,这些实例可能与您的条件相匹配?或者您希望在一个谓词中完成所有这些?在数据库中,我有Entity3的列表,该列表与关联的Entity2的列表。我将更新我的问题以澄清。
NSFetchRequest
在我的应用程序中,我有一个非常简单的模型,只有两个类。其中之一是CDAttribute。
此应用程序已在应用商店中,并且正在运行。现在我第一次用xCode 6测试了它,并在我的iPad上安装了一个新版本。现在我得到了这个错误
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '"CDAttribute" is not a subclass of NSManagedO
我对开发一个库感兴趣,该库将通过Parse mobile后端跨设备同步核心数据模型。我想镜像iCloud core data sync试图提供的功能
为什么不使用iCloud或iCloud?
我目前正在一个生产应用程序中使用iCloud core data sync,它是。我还想提供独立于苹果ID的认证,这也是我想离开iCloud的另一个原因。就合奏而言,我不确定这是否仍然适用于Dropbox。
我还没有开始开发图书馆。我正在寻找关于我的计划的反馈,该计划概述如下。这项设计是基于
图书馆的总体设
作为CoreData的初学者,到目前为止,我已经找到了三种实例化NSManagedObject实例的不同方法:
1:
let myEntity = NSEntityDescription.entityForName("MyEntity", inManagedObjectContext: managedContext)!
let instance = MyEntity(entity: myEntity, insertIntoManagedObjectContext: managedContext)
新的Swift 3将前缀为“NS”的类型替换为不带“NS”的类型。其中一个-NSData成为数据。所以我看到在核心数据中,类型“二进制数据”等于类型NSData。因此,例如,如果我的结构具有“Data”类型的var,我必须使其NSData
问题:
1) 我说得对吗
2) 如何使NSData成为数据。当我这样做时:
var photoData=Data(dataForTable[0].userPhoto)
我收到这样的消息:无法为“inout Array”类型的值下标您可以使用作为数据将NSDat
我已经正确地实现了一个nsfetchedresultscoontroller,这样它就可以将我获取的数据按节分割。当我试着打印出它的属性sectionIndexTitles时,我只得到“0”,但是如果我迭代它的部分并打印出部分名称,它会打印出每个部分的名称:
dump(fetchedResultsController.sectionIndexTitles)
// prints out "0"
var names = [String]()
for val in (fetchedResult
我得到这个错误:
行程取消挑战[2594:1022206]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“NSFetchedResultsController实例需要具有排序描述符的获取请求。这是我的代码。真的很感谢你的帮助,我已经尝试了好几天了
import UIKit
import CoreData
class MainVC: UIViewController, UITableViewDelegate, UITableViewDataS
我能够得到一个核心数据支持的平面列表(不带.listStyle修饰符)和删除和移动功能
但当我试图将列表分组时
.listStyle(GroupedListStyle())
车轮从概念上脱落。onDelete修饰符参数的函数签名为IndexSet?->无效的因此,我无法传入要删除的对象
onMove本质上是相同的问题,只是更糟。这两个修饰符都依赖于一个数据源,假设该数据源是一个序列值的平面数组,可以通过IndexSet订阅访问该数组。但我不知道如何使用平面数据源构建分组列表
我的视图主体如下
我已成功地将核心数据添加到我的SwiftUI项目中。我需要按类型筛选结果。当我向提取请求添加谓词时,应用程序会在包含提取请求的视图尝试加载时崩溃
错误是线程1:EXC\u BAD\u访问(代码=1,地址=0x1)
@Environment(\.managedObjectContext)var managedObjectContext
@FetchRequest(实体:Task.entity(),
sortDescriptors:[
NSSortDescriptor(键路径:\Task.type,
标签: Core Data
cloudkitcore-data-migrationnspersistentcloudkitcontainer
我目前有一个应用程序使用应用程序商店中的核心数据:该应用程序允许人们记录他们的水上活动和航海活动(可以把它想象成水手的Strava)。我已经三年没有更新这个应用了,这个应用在最新的iOS版本上似乎仍然运行良好,但我最近计划改进这个应用
我目前正在对此应用程序进行更新,需要更改数据模型和模式。我想要一个自动的轻量级迁移。我重命名了一些实体、属性和关系,但我确保将以前的ID放在编辑器的重命名ID字段中。
我想利用这个机会在CloudKit上同步更新的模式。我按照Apple开发者文档中的说明设置同步。
我尝试在Mac Catalyst上运行iOS应用程序,但我的应用程序有核心数据。我读过这篇文章:
但我并没有实现这一目标。我不知道
我在视图控制器中编写了这段代码,其中使用了核心数据。它与AppDelegate.swift文件中的代码相同(我没有删除它)
当我在核心数据中更新或插入数据时:
// SAVE the context.
do {
try context.save()
} catch {
let nserror = error as NSError
print
我是Swift的新手,正在使用核心数据进行一个项目。我创建的实体(称为StudentData)综合了我在编码中使用的所有属性。我有一个包含客户端列表的视图,当您点击每个客户端时,将显示一个具有某些属性的视图,代码如下:
struct StudentView: View {
@Environment (\.presentationMode) var presentationMode
@Environment(\.managedObjectContext) var managedOb
我以编写最终用户可以自定义的数据库应用程序为生
通常,这意味着——暂时把数据库放在一边——我的一些概念实体类型有一个无限的宇宙或域
以名称类型为例。你可以有名字,姓氏,已婚的名字,法定的名字,称呼的名字,等等。我不会给这个宇宙设定一个上限
但我确实需要找到并使用某些知名的名称类型。让我们说一下显示名和排序名,只是为了简单起见
我还希望能够查询所有名称类型(即整个宇宙),并返回我的已知名称类型
在数据库中实现这一点有几种策略:
有一个带有id列和代码列的名称\类型表。小于一定数量的ID值“保留”供
伙计们,我一直在引用这个项目,但我得到了这个链接器错误:
Undefined symbols:
"_OBJC_CLASS_$_NSManagedObject", referenced from:
_OBJC_CLASS_$_ParkingLot in ParkingLot.o
_OBJC_CLASS_$_Permit in Permit.o
"_OBJC_METACLASS_$_NSManagedObject", referenced from:
_O
我正在开发我的第一个应用程序,现在我非常非常困惑。我打赌这要求太高(也太具体),但我正在尝试制作一个带有文件夹的应用程序,当用户点击编辑按钮时,会出现一个单独的视图,其中包含一个已经启用编辑的tableview。(该视图是一个UITableViewController,用于让用户管理其文件夹)
用户还可以添加、删除和重新排列他/她的文件夹,而无需点击其他按钮。当按下add按钮时,将出现一个新视图,用户在其中键入新文件夹的名称。现在,我不在乎文件夹是否显示在应用程序的另一部分,或者它们是否可以保存
如何减少核心数据中的获取请求时间
我正在使用核心数据NSFetchedResultsController从.sqlite文件中提取10000个数据。加载该文件花费的时间太长。您可以尝试仅提取对象id而不是整个对象。通常更快。您可以尝试只获取对象id而不是整个对象。通常速度更快。请参见:
通常,您需要设置提取限制并将提取作为故障。这样,您只会得到一个轻量级代理对象的小数组。您还应该确保使用NSFetchResultsController的缓存
但是,您可能需要重新考虑UI设计。我认为一张10000
在XCode 4中,如何访问XCode 3中提供的“将方法实现复制到剪贴板”?请参阅以获取答案–不幸的是,XCode 4使此功能更难找到。可能是的重复。实际上,这是重复的(我搜索了大多数术语,但使用的是“访问器”,而不是属性)。这篇文章该怎么办?删除它(如果可能的话)?我自己也不完全确定,但我认为堆栈溢出礼仪要求不要删除该问题-即使它已经在其他地方得到了回答,你对该问题的措辞可能会让下一个人在搜索时更容易找到它。可能还需要在下面创建一个实际的答案,将问题从“未回答”列表中删除,所以我会继续这样做
当我们第一次向应用程序添加核心数据时,我们遵循的教程在我们的应用程序委托中创建了一个NSManagedObjectContext。它建议,如果我们在其他线程上使用核心数据,我们应该在保存线程上下文时添加一个观察者来更新主上下文,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(mergeChanges:)
检查iCloud现有数据的最佳方法是什么
我需要检查本地设备或iCloud上是否不存在数据,以便下载。由于您包含了核心数据标签,我假设您的意思是您使用的是核心数据,而不是iCloud文件API或无处不在的键值存储
有了Core Data的内置iCloud支持,您可以像不使用iCloud一样检查现有数据。创建核心数据堆栈后,通过正常的核心数据获取来检查存在哪些数据。没有(公开的)本地与云数据的概念,只有一个数据存储碰巧知道如何与iCloud通信。您不会显式地启动下载--下载是自动进行的
在应用程
在我的应用程序的新版本中,我希望合并两个不同NSManagedObject上的两个属性,并在这两个对象的关系上使用它
例如,我有一个对象“Document”(在更新的版本中现在有“title”属性),这个对象与一个“book”和一个“约会”相关,这两个对象过去都有“title”属性
Core Data programming guide(核心数据编程指南)阅读起来非常混乱,根据我的能力,我必须执行/覆盖自定义迁移
我的模型迁移得很好,除了这段数据。有人能告诉我更新这个属性的正确方向吗
谢谢
我的
有restkit问题的新手:
这是我对属于交易所和货币的交易的json响应:
{
"exchange": "symbol",
"currency": "USD",
"trades": [
{
"maxPrice": "684.00",
"minPrice": "683.10",
"price": "683.28",
"timestamp": "139045100
我在编辑CoreData后更新视图时遇到问题
我在我的CoreData实体中有一个名为“TST”的条目,并通过导航链接编辑它的名称
NavigationLink(destination: editingPage(thread: tr.title)){
Text(tr.title)}
编辑并保存MOC后,在我重新启动应用程序或返回到导航视图的开头之前,它不会显示更改
我是否应该在显示CoreData数据的所有页面上都有一个获取请求?或者有某种观察对象
我要查找的内容与在“设备设置”菜单中更改设备
我的应用程序存在可复制的CoreData错误。
我使用viewContext进行显示,使用backgroundContext进行对象更新。两个上下文属于同一个NSPersistentCloudKitContainer
在某个时刻,我将对象的status属性从2更新为1,并将其updatedAt属性从nil更新为Date()后,将其保存在backgroundContext中。
稍后,我想取回这个更新的对象,我的理解是取回总是返回持久存储的内容。
因此,获取的对象应该是相同的,无论它被提取到哪个上下
我只想通过绑定将核心数据实体的绑定传递到ForEach循环中的SwiftUI子视图屏幕,这样我就可以编辑实体的属性,保存上下文并获得自动更新的视图
我如何才能实现这样的目标:
ContentView {
@Environment(\.managedObjectContext) private var viewContext
@FetchRequest(entity:ToDo.entity(), sortDescriptors: [])
private var toDoItems: F
1 2 3 4 5 6 ...
下一页 最后一页 共 49 页