将 NSManagedObject 的实例添加到 NSManagedObjectContext 正常,更新同一实例失败

2024-02-22

我在 iPhone 应用程序中使用核心数据。我创建了一个简单的类Friend,它源自NS管理对象并使用以下属性:

@property (nonatomic, retain) NSString *name;

我能够在我的上下文中添加和删除此类的实例,并且我的更改也是持久的。
现在我想要更新/修改 a Friend-实例并再次使其持久化。

但这似乎行不通。

这是显示我的问题的代码:

//  NSManagedObjectContext *context  = < my managed context> 
//   NSFetchedResultsController *nsfrc= < my fetched result controller>

NSEntityDescription *entity = [nsfrc entity];
NSManagedObject *newManagedObject = [NSEntityDescription 
       insertNewObjectForEntityForName:[entity name]  inManagedObjectContext:context];

Friend *f = (Friend *) newManagedObject;
f.name = @"name1";
//1.  --- here context.hasChanges == 1 ---   ok

NSError *error = nil;
if (![context save:&error]) { ... }
//2.  --- here context.hasChanges == 0 ---   ok

f.name = @"name2";
//3.  --- here context.hasChanges == 0 ---   nok?

if (![context save:&error]) { ... }

在评论1一切都很好。我得到了一个新的NS管理对象 of the Friend-type,我可以更改名称属性。上下文告诉我有一些东西可以保存。 保存上下文后我看到上下文.hasChanges == 0。另请注意,保存上下文后数据是持久的。

在评论 2 之后,我更改了 name 属性。现在我期望上下文.hasChanges == 1并且也在之后上下文保存我希望新名称能够持久。 但不幸的是事实并非如此。再次启动应用程序,加载Friend名称属性 = 的实例@"name1".

我在核心数据文档中找不到任何提示或示例。那么我做错了什么? 我需要做什么来更新/修改现有的Friend-实例并使其持久化?

我看到的唯一解决方案是删除该条目,更改它,然后再次添加。但我认为这不是正确的方法。

Thanks!


无法识别更改可能是由于您在子类实现中使用了 @synthesize 而不是 @dynamic。 CD 提供了自己的访问器,您可以使用 @synthesize 绕过它 马丁

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 NSManagedObject 的实例添加到 NSManagedObjectContext 正常,更新同一实例失败 的相关文章

  • UIView 和 UITableView 中的 UITapGestureRecognizer 冲突

    我有一个UIView我在其中添加了一个UITapGestureRecognizer 在该视图中 我还有一个子视图 其中基本上是某种UITableView 问题是为什么不UITableView识别连续点击 而是始终转到点击手势识别器的处理程序
  • prepareForSegue 和 PerformSegueWithIdentifier 发送方

    我想知道标题中的函数如何工作以及发送者参数 假设单击按钮调用了performSegue方法 那么这是否也调用了prepareSegue方法 是否在performSegue方法之前但在按下按钮之后调用prepareSegue方法 另外 这两个
  • 如何从 UILabel 创建图像?

    我目前正在 iPhone 上开发一个简单的类似 Photoshop 的应用程序 当我想要展平图层时 标签位于良好的位置 但字体大小不佳 这是我要展平的代码 UIGraphicsBeginImageContext CGSizeMake wid
  • Mobile Safari (iPhone) CSS 垂直居中/行高 CSS 问题

    有一个问题 我一直试图在各个项目中解决 但运气不佳 我有一些divs 内的文本以 CSS 为中心 使用display block and line height 我也尝试过padding和固定的高度 通常 这些设置要么只是标题 要么有时是按
  • 如何使自定义绘制的 UITableViewCell 正确调整大小?

    出于性能原因 我在自定义视图中绘制 UITableViewCell 的字符串 该视图重写其 drawRect 方法 以使用 NSString drawInRect 直接在视图矩形中绘制字符串 这类似于 Apple 的 TableViewSu
  • Excel 工作表到 iPhone 数据 -- A 点到 B 点

    尽可能简单 我有一个非常简单的 Excel 电子表格 只有 1000 多条记录 我想将其用作 iPhone 应用程序的静态数据源 最好的进攻计划是什么 我心中的可能性 1 直接读取XLS作为数据源 是否有Obj C库用于此 2 将XLS 转
  • 如何在iphone APP中下载facebook和Picasso的图片

    任何人告诉我有关 iphone 中从 facebook 和 picassa 下载图像的功能 我正在其中制作应用程序 我想制作通过我的应用程序从 picassa 和 facebook 下载选定图像的功能 那么我必须做什么 谢谢 查看NSURL
  • 调用了 numberOfRowsInSection 但未调用 cellForRowAtIndexPath

    在我的表视图中节中的行数被调用两次但是cellForRowAtIndexPath不叫 我想在 tableView 中显示 Facebook 好友列表 如果 cellForRowAtIndexPath 调用我的问题就解决了 我在这里的数组中得
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • 将滚动事件从 uibutton 传递到 uiscrollview

    我有水平的UIScrollView这是从UIScrollView我添加了UIButtons水平地 我只能滚动到按钮区域之外 但如果我想滚动到任何按钮就会触发UIControlEventTouchUpInside事件 我不想要这个 我想开火U
  • 如何设置仅适用于 iPhone 或 iPad 的视口?

    我有一个网站 需要在 iphone 上使用 0 3 的视口值 但在 ipad 上使用 0 7 有没有办法只为 iPhone 或 iPad 设置视口 这是一种解决方案
  • 步行、自行车和公共交通路线以及每种方式所需的时间,iPhone

    我正在使用以下网址来获取两个位置之间的行车路线 NSString apiUrlStr NSString stringWithFormat http maps google com maps output dragdir saddr dadd
  • 使用 UItableViewCell 类型的表达式初始化“CustomCellView *”的指针类型不兼容

    你能帮我理解和 修复下面的错误吗 我不明白CustomCellView是一个子类UItableViewCell 代码已编译 但警告仍然存在 Incompatible pointer type initializing CustomCellV
  • iPhone SQLite页面缓存不断增长

    I use sqlite数据库用于存储 还有许多数据库事务 我的问题是 sqlite 页面缓存的内存使用量快速增长 在instruments我可以找到这条线 Graph Category Live Bytes Living Transien
  • 如何使用 SwiftUI 获取多个屏幕上的键盘高度并移动按钮

    以下代码获取键盘显示时的键盘高度 并将按钮移动键盘高度 在转换源 ContentView 和转换目标 SecibdContentView 处以相同的方式执行此移动 但按钮在转换目标处不移动 如何使按钮在多个屏幕上移动相同 import Sw
  • 使用特定的 url 启动 UIWebview

    我目前有一个包含四个按钮的视图 并且希望能够启动 UIWebview 并为每个不同的按钮提供特定的 url 我目前可以使用 url 从外部启动 safari 我知道我可以使用代码在每个按钮中显示 UIWebview 并且可以在 UIWebv
  • 用于具有转换的非导航应用程序的视图控制器/NIB 架构?

    我正在修补一个 iPad 应用程序 就像许多 iPad 应用程序一样 它不使用 UINavigation 根视图控制系统 因此我没有每个应用程序 视图 的自然所有权 我基本上有两个基本视图 文档列表视图和文档编辑视图 我正在使用 UIVie
  • MKMapView 拦截/劫持 iPhone 触摸事件

    3 0 SDK 是否存在禁用实时缩放并拦截 MKMapView 放大手势的 bug 我有一些真正简单的代码 因此我可以检测点击事件 但有两个问题 放大手势始终被解释为缩小手势 所有缩放手势都不会实时更新地图视图 在 hitTest 中 如果
  • 访问 google reader 的 Endpoints API 时出错

    我正在尝试在iPhone APP中实现google reader 到目前为止我已经成功收到了sid and auth 当我尝试使用以下命令调用 Endpoints API 时 问题就出现了GET 这是代码 ASIHTTPRequest re
  • 使用 ZBarSDK 时 iPhone 相机失去自动对焦功能

    我正在开发一个应用程序 用户可以选择是否要扫描条形码或拍摄某物的照片 为了拍照 我正在使用UIImagePickerController照常 为了扫描条形码 我使用 ZbarSDK 1 2ZBarReaderViewController 拍

随机推荐

  • 如何计算集群所需的zookeeper服务器数量?

    有没有公 式可以计算我需要的zookeeper服务器数量 假设一个集群可能有 50 500 或 5000 个服务器在运行 我如何将这些数字转换为我想要启动的 Zookeeper 服务器数量 换句话说 对 zk 服务器可以处理的工作负载有什么
  • 无法导入 scala.reflect.runtime.universe

    我想按照 scala 2 10 2 中的示例来尝试反射本教程 http docs scala lang org overviews reflection environment universes mirrors html 当我启动 sbt
  • 快速解析对象内的json数组

    这是一个样本json我必须在我的项目中实现的代码 请告诉我如何编写代码 我写了很多次代码 这根本不是工作 所以我希望请提供完整的例子 在这里我可以看到 首先有一个对象 接下来有一个多个对象 最后是一个对象内的数组 请查看详情 Activit
  • Tkinter Canvas 将项目移动到顶层

    我有一个 Tkinter Canvas 小部件 Python 2 7 而不是 3 在这个 Canvas 上我有不同的项目 如果我创建一个与旧项目重叠的新项目 它将位于前面 现在 我如何才能将旧项目移动到新创建的项目前面 甚至移动到画布上所有
  • jQuery 从链接获取带有变量的 url 并通过 Ajax 发送它

    我可以使用此链接通过 GET 将产品添加到购物车 div a href Add to Cart a div 我想使用 jQuery Ajax 保持在同一页面上 如果启用了 JS 我已经写出了以下内容 但当然它不起作用 有人可以看看出了什么问
  • C ++,stl,map如何按值而不是键排序

    我想仅使用值而不是键对地图容器中的元素进行排序 怎么做 我知道地图可以按键值排序 但反之亦然怎么办 我在 stackoverflow 中发现了同样的问题 我喜欢这个solution https stackoverflow com a 269
  • 什么时候适合使用 df.value_counts() vs df.groupby('...').count()?

    我听说 Pandas 通常有多种方法可以做同样的事情 但我想知道 如果我尝试按特定列中的值对数据进行分组并计算具有该值的项目数 那么什么时候使用才有意义df groupby colA count 什么时候使用才有意义df colA valu
  • 如何使用 C# Entity Framework 5 DbGeography 空间数据纠正多边形环方向

    我正在使用新的实体框架 5 使用空间数据类型 DbGeography 作为我的模型的一部分 用于在一个实例中存储点 在另一个实例中存储多边形 设置 POLYGON 的值时 所有保存都不会出现错误 但是只有当我按顺时针顺序在地图上绘制多边形时
  • 使用AJAX将网页内容加载到DIV中

    我有一个文本字段 当我在文本字段中输入内容时 我想将内容加载到下面的 DIV 中 这就是我的等效代码
  • 当我右键单击图标时出现无限 gtk 警告

    由此tuto http zetcode com tutorials gtktutorial firstprograms include
  • 编程中死锁问题有多常见?

    我用多种语言进行编程 但我不知道代码中是否存在死锁 我认为这意味着它不会发生 这种情况经常发生吗 在编程中 not在数据库中 足以让我担心它吗 如果满足以下两个条件 则可能会出现死锁 您有多个线程 并且它们争用多个资源 你写多线程代码吗 您
  • Gtk Ckipboard:使用自定义 URI 方案从源粘贴文件

    我正在尝试编写一个 GTK C 应用程序 将一些文件放在 Gtk 剪贴板上 以便使用 Nautilus 的用户能够粘贴它们 有一个好的stackoverflow 上 Gtk 剪贴板本地文件复制和粘贴的示例 https stackoverfl
  • AngularJS 下拉列表不显示所选值

    在角度下拉列表中显示所选值时面临问题 当我这样给予时它就起作用了 scope selectedItem scope items 1 不起作用 如果我直接给出该值 scope selectedItem name two age 27 HTML
  • ul in ul 的正确语义

    我在写信ul inside ul制作手风琴类型的菜单 但是当我在 html 验证器中检查下面的代码时 它给了我这些错误 Element ul not allowed as child of element ul in this contex
  • 记录可以用作对象的属性吗?

    我想将记录作为对象的属性 问题是 当我更改该记录的某个字段时 该对象不知道这一更改 type TMyRecord record SomeField Integer end TMyObject class TObject private FS
  • 为什么使用 Nsurl 请求不断告诉我重命名为“init(url)”

    还尝试添加检测视频并将其下载到应用程序的功能 简而言之 这是一个基于网络的应用程序 用于下载任何类型的视频 并能够将其存储在应用程序中 import UIKit class ViewController UIViewController I
  • Qt raw 与 std::shared_ptr

    我注意到 当在 QT 中用 share ptr 替换原始指针时 我的代码不再起作用 例如 如果不是 QTreeWidgetItem vItem new QTreeWidgetItem ItemTitle I use std shared p
  • AWS IAM GetUser - 凭证的范围应使用curl和“--aws-sigv4”选项限定在有效区域

    我试图获得正确的请求来获取用户 但不能 有效的 AWS CLI aws iam get user user name user name 现在 一个平淡的curl request api addr https iam amazonaws c
  • 设置div宽度,对齐div中心,文本左对齐

    我有一个小问题 但我无法解决 我有一个 864px 宽度的内容标题 一个重复的背景图像和页脚图像 现在我有这个 div 在背景图像上 我希望它的宽度为 855px 文本左对齐但居中对齐 以便它适合背景 我曾经有过一些剩余的填充宽度 但我发现
  • 将 NSManagedObject 的实例添加到 NSManagedObjectContext 正常,更新同一实例失败

    我在 iPhone 应用程序中使用核心数据 我创建了一个简单的类Friend 它源自NS管理对象并使用以下属性 property nonatomic retain NSString name 我能够在我的上下文中添加和删除此类的实例 并且我