我正在尝试调试在 iOS 5.1 下运行的问题,当我在调试器中停止出现错误的代码并尝试使用调试器打印某些内容时,我收到以下消息:
错误:警告:在声称捕获 Objective-C 对象指针的上下文中停止,但“self”不可用;假装我们在一个通用的上下文中
打扰一下?有人知道我在这里对自己做了什么吗?
代码太复杂了,任何人都不想看——我主要希望有人能告诉我调试器消息的含义。
这过去只是间歇性地失败,但现在大部分都失败了。该操作通常(或可能总是)在我第一次在 iOS 5.1 中尝试时有效,偶尔在第一次之后,显然总是在 iOS 6 中有效。
如果它有助于了解一般上下文......我正在尝试将刚刚编写的对象添加到 ALAssetsGroup 所以这是在非 UI 线程上的完成块中。对于完成块,我有一个看起来很合理的堆栈回溯。失败是因为存储的 ALAssetsGroup 不再具有有意义的值——或者说它的 NSLog 知道它是一个 ALAssetsGroup 对象。这个值被分配在一个地方(并记录下来以便我跟踪它),我可以通过键值观察看到初始分配,我看不到它以 KVO-sorta 的方式被更改过。