我们一直在尝试调试Core Data多上下文/线程问题,其中将Core Data保存通知合并到我们的主线程NSManagedObjectContext中偶尔会使应用程序崩溃.这导致约2%的应用会话崩溃,我们对如何解决这个问题感到茫然.我们非常感谢任何可能导致此次崩溃的指导或一般建议.
我们有一个Core Data设置,如下所示:
注意这是从[MagicalRecord setupAutoMigratingCoreDataStack]创建的Magical Record v2.3中的默认核心数据堆栈
这是我们的应用程序崩溃的情况:
NSManagedObject在根节省上下文中将JSON解析为s(一些新实体,一些更新的实体)NSManagedObjectContextDidSaveNotification由Core Data广播.主队列上的默认上下文观察它并mergeChangesFromContextDidSaveNotification:使用NSDictionary主线程上的更改进行调用.objectID被发送到无效对象时崩溃(很可能NSManagedObject已被解除分配).这是在私人实施中发生的,NSManagedObjectContext mergeChangesFromContextDidSaveNotification:所以我们不可能看到这里出了什么问题; 在这一点上我们只能告诉我们一个应该存在的对象.

这仅发生在Core Data保存的一小部分上,表明这可能不是我们的Core Data→API堆栈的根本缺陷.此外,没有迹象表明上下文更改中的更改(插入/更新/删除)的大小或类型对崩溃的可能性有任何影响.
core-data objective-c nsmanagedobjectcontext ios magicalrecord
我已经花了这么多时间,我可以感觉到我的理智慢慢滑落.所以任何帮助都会真正受到赞赏.我会尝试尽可能简洁.
我在2D平面上有一个圆圈.我知道它的中心点(C)和半径(R)的笛卡尔坐标.
我的困惑源于这个问题.在圆圈外面的平面上设有一个点; 我可以计算最接近该点的圆周上的点(P).
我想要做的是确定圆周上2个点的(x,y)坐标.我们称他们为P1和P2.P1和P2是弧的两端.弧具有固定长度(X).P是P1和P2之间的中间点.因此,从P到P1&P到P2的弧长都是X/2.
简而言之:给定C,R,P,X; 我需要计算P1和P2.
我试图用c ++编写代码,但任何建议或伪代码都会很棒.
编辑:X是弧长,而不是P1和P2之间的直线