wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndicatorView
Posted
技术标签:
【中文标题】wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndicatorView【英文标题】:wait_fences: failed to receive reply: 10004003 error - UIAlertView with UIActivityIndicatorView 【发布时间】:2011-03-02 01:36:11 【问题描述】:我希望squeezemylime's question 的答案能解决我的问题,因为我也有一个没有文本字段的 UIAlertView,但效果不佳。我放置了一个 UIActivityIndicatorView 动画而不是文本字段,并且在创建时没有使用任何按钮。因此,警报会以编程方式被解除,因此委托方法会破坏警报上的微调器和警报本身(在运行期间一直保留)。
所以,我在调试器中也收到了这些 wait_fences: 消息,与此同时我被冻结了,因为我尝试的一切,包括这个线程中的有价值的提示都不会杀死这些 wait_fences: 消息。 GDB 和设备上都没有崩溃。
通过代码,我意识到 wait_fences: 消息直接显示在 dismissWithClickedButtonIndex:0 animated:NO 的委托释放有问题的 UIAlertView 之后。然后我认为它可能类似于 squeezemylime 的延迟技术并这样做了:
[theAlertObj performSelector:@selector(dismissWithClickedButtonIndex:animated:) withObject:nil afterDelay:0.1];
wait_fences: 消息消失了!但是无法满足对 dismissWithClickedButtonIndex:animated: 的调用,因为它缺少第二个参数 animated:NO - 所以我尝试了一些更改来实现调用:
- (void)dismissNamedAlert: (UIAlertView*)alert
[alert dismissWithClickedButtonIndex:0 animated:NO];
- (void)postProcessLogicalWork: (id)arg
[self performSelector:@selector(dismissNamedAlert:) withObject:theAlertObj afterDelay:0.2];
...
无赖:wait_fences: 消息再次出现!我想我不能回到工作解决方案的方法调用不满意 - 那怎么办?和/或在什么情况下会出现这些 wait_fences: 消息?
简而言之,我的工作流程是这样的:
viewDidAppear 调用它的 super,然后调用我的数据更新器 afterDelay:0.3f 数据更新程序为更新过程调用一个新线程 新线程在主线程上创建并显示带有微调器的警报,然后运行几秒钟 新线程在主线程上执行完成过程并完成 完成者按上述方式解除警报(使用 wait_fences:)并在需要时刷新显示 剩下的就是空闲时间……暂时有什么想法吗?
【问题讨论】:
对不起,我希望能帮助你。我遇到了一个非常相似的问题,在dismissWithClickedButtonIndex 之后立即收到相同的错误消息:但我还没有弄清楚如何解决这个问题。 很多人说这是 ios 框架中的一个错误(顺便说一句,即使现在我在我的设备上运行的 4.3.3 仍然存在)。我没有采取任何措施来保护它,而且我的应用程序自一个月以来就在 AppStore 中 - 所以我认为 Apple 也不在乎...... 【参考方案1】:我不知道事情发生的原因,但通过更改这一行来解决这个问题
[alert dismissWithClickedButtonIndex:0 animated:NO];
到这个
[alert dismissWithClickedButtonIndex:0 animated:YES];
【讨论】:
我已经按照你的建议尝试过了 - 但对我来说它不起作用:-( ...使用 iOS 4.3.3 顺便说一句。以上是关于wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndicatorView的主要内容,如果未能解决你的问题,请参考以下文章
wait_fences:未能收到回复:10004003 - viewDidLoad
UIAlertView wait_fences:未能收到回复:10004003
wait_fences:未能收到回复:10004003(仅在 iPad 上)
wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndicatorView