ios - 在没有观察者通知的情况下写入核心数据上下文
问题描述
我有一个NSManagedObjectContextDidSave
观察者在保存记录后直接修改它。正如想象的那样,我遇到了一个无限循环问题,修改新保存的记录将触发另一个通知给观察者。
我的想法是跟踪核心数据记录的 ID,当它回来时,我只是忽略它并从数组中删除 ID。这会起作用,但我担心碰撞,这似乎不太可能发生,但仍有可能发生碰撞,这会导致碰撞的记录错过观察者的修改。
这里的常识解决方案是什么?
解决方案
简单的答案似乎是使用NSManagedObjectContextWillSave
而不是NSManagedObjectContextDidSave
,这样您就可以在保存之前进行更改,从而避免循环。除非有一些你没有提到的令人信服的理由,否则我会这样做。
推荐阅读
- z3py - 如何使用 z3py 解决 McNuggets 问题
- laravel - laravel how to save files with predefined name
- color-profile - 国际色彩联盟 (ICC) 文件?
- angular - Angular 将文件夹上传到 Azure Blob 存储
- python - OpenCV Python solvePnP 的 EPnP 实现不产生与官方 MATLAB EPnP 实现相同的输出
- spring - 看不到 keycloak 登录表单
- javascript - “Access-Control-Allow-Origin”标头的值不等于提供的原点,但它是
- javascript - Highcharts solidgauge 弧形,5 种不同的纯色(无渐变)
- python - Pyserial:readline() 是阻塞的,虽然定义了超时
- aws-api-gateway - 如何在 AWS SAM 中为 HTTP ApiGateway 配置 IAM 授权方?