![](/img/trans.png)
[英]How can i check apple default app in apple watch simulator?
[英]How can I determine if Apple methods are asynchronous?
我正在使用mainQueueConcurrency将NSArrayController绑定到managedObjectContext。
我想做的就是用自己的函数修改arrangeObjects的排序属性,然后调用rearrangeObjects
然后选择一些对象。
但它看起来像rearrangeObjects
不同步执行。
那么我怎么能以某种方式证明这一点呢?
这有效:
[self.myArrayController rearrangeObjects];
// Async needed -- I believe rearrange calls a fetch, which is async
dispatch_async(dispatch_get_main_queue(), ^{
[self.myArrayController setSelectedObjects:anArray];
});
减去dispatch_async
,它不起作用。 选择不会发生。
我相信像在NSArrayController上fetch
一样,
**那么我该如何证明呢? 我可以在那里抛出断点并检查阵列控制器等等。我有,我怀疑这是发生了什么。 rearrangeObjects
会在下一次runloop迭代中调度自己。
但是有一些调试技巧会让它显而易见“Eureka!这行代码启动异步操作”??
**正在做异步的可可绑定。 当然。 rearrangeObjects只是触发它。
我能够通过在可疑的代码行之前断开并在GCD dispatch_async函数上启用符号断点来捕获rearrangeObjects
调用dispatch_async_f
(通过绑定) :
并且,果然, dispatch_async_f
符号断点在rearrangeObjects
行上停止:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.