Iphone wait_fences:未能接收回复:10004003(再次)
又一次关于这一警告的呼救声 首先,我看了其他地方的所有问题,似乎没有一个适合我的情况。它与警报框和重新指定为第一响应者无关,也与在显示视图之前执行任何动画无关。我的问题发生在实例化基于UIView的自定义键盘时 第二,我相信我可以随意让警告出现/消失。我只是很困惑为什么,所以我更多的是寻求解释而不是解决办法 这里有太多的代码要发布,因此我将简要介绍正在进行的工作: ViewController“Calc”在VC的loadView方法中实例化基于UIView的自定义“DataView”,然后将其添加为VC的子视图 “DataView”在DataView的init方法中实例化一个基于自定义UITextField的“TextFieldKPD” “TextField”在TextField的init方法中实例化一个基于UIView的自定义“小键盘”,并将该小键盘分配给TextField的inputView “键盘”创建13个UIButtonTypeCustom类型的UIButton按钮,读入并为每个按钮指定“按下”和“未按下”图像,以及设置按钮的操作。然后,它将每个按钮添加为自身的子视图。(通过控制键盘的UIView生命周期中何时发生这种构造,我可以实现wait_fences警告:见下文。) “Calc”ViewController是最初呈现给用户的视图控制器。我已经追踪到wait_fences警告发生在Calc的viewDidLayoutSubViews方法结束之后,调用其ViewDidAppease方法之前。请注意,当显示Calc时,键盘不可见 我似乎能够通过改变键盘的构造方式来控制wait_fences警告的动作:Iphone wait_fences:未能接收回复:10004003(再次),iphone,objective-c,ios5,wait-fences,Iphone,Objective C,Ios5,Wait Fences,又一次关于这一警告的呼救声 首先,我看了其他地方的所有问题,似乎没有一个适合我的情况。它与警报框和重新指定为第一响应者无关,也与在显示视图之前执行任何动画无关。我的问题发生在实例化基于UIView的自定义键盘时 第二,我相信我可以随意让警告出现/消失。我只是很困惑为什么,所以我更多的是寻求解释而不是解决办法 这里有太多的代码要发布,因此我将简要介绍正在进行的工作: ViewController“Calc”在VC的loadView方法中实例化基于UIView的自定义“DataView”,然后将其添
- 如果UIButtons被实例化并作为子视图添加到键盘的init方法中,那么我将得到警告,一次又一次
- 相反,如果在键盘的LayoutSubView方法中实例化并添加按钮,则不会显示警告。(但在我点击文本字段之前,键盘并没有得到有效的构造——不过,也没有等待警告)
-(void)loadImages
{
UIImage* image;
for(int i=0; i<16; i++) {
image = [UIImage imageNamed:@"StupidFileNameThatDoesNotExist"];
}
}
以及:
使用NSLog语句控制警告的外观
编辑4,2月2日-欢迎来到厄运神庙
将Allen的评论牢记在心,我将键盘重建为XIB并加载,而不是手动构建视图。当然,这并没有解决任何问题。我曾希望Nib加载将发生在导致问题的任何情况之外
我的直觉是,我在Calc的loadView和一些内部iOS活动中遇到了竞争条件。如果我在loadView内做了太多的工作,那么我就会越过这条线,发出等待围栏警告。键盘是一种症状,而不是根本原因。这可能是任何活动,只是在警告开始出现之前,键盘工作是我做的最后一件事。我只是希望我真的知道我实际上是在穿越什么限制,而不是在黑暗中跌跌撞撞。我以前有过几次这样的问题,并试图找到解决方案。据一位苹果工程师说,这是一个内部引起的问题,第三方开发者不必担心。据我所知,它不应该导致你的应用程序崩溃或引起任何问题,除了调试器中一个非常恼人的错误,它似乎会让所有开发人员发疯
很抱歉,我无法提供更多帮助。我以前曾多次遇到此问题,并试图找到解决方案。据一位苹果工程师说,这是一个内部引起的问题,第三方开发者不必担心。据我所知,它不应该导致你的应用程序崩溃或引起任何问题,除了调试器中一个非常恼人的错误,它似乎会让所有开发人员发疯
很抱歉,我无法提供更多帮助。据我所知,当子视图(例如UIAlertView)在其父视图/超级视图之前创建时,问题似乎会发生。与响应者链有关
尝试移动视图代码以修复问题或粘贴相关部分。据我所知,关于代码描述,当子视图(例如UIAlertView)在其父视图/超级视图之前创建时,问题似乎会发生。与响应者链有关
尝试移动视图代码以修复问题或粘贴相关部分。当错误地从后台线程运行UIKit代码时,我遇到了wait_fences错误。听起来这似乎不是你的问题,但如果你还没有,那是另一件需要研究的事情。我在错误地从后台线程运行UIKit代码时遇到了wait_fences错误。听起来这不是你的问题,但如果你还没有,那就另当别论了。据我所知。 在调用UIAlertView的同时,在UIView上执行某些操作时,会出现此警告。 为了解决这个问题,我们当时不需要在UIView上执行操作。 为此,我们可以做以下两件事之一: 1.我们可以打电话给UIAl
-(void)loadImages
{
// Iterate over button definitions and cache the required images
for(int i=0; i<numKeys; i++) {
if (![imageCache imageExistsForTag:keyTags[i]]) {
[imageCache addImageFile:[NSString stringWithFormat:@"%s_NP.png",keyNames[i]] forTag:keyTags[i]];
}
if (![imageCache imageExistsForTag:keyTags[i]+pressedOffset]) {
[imageCache addImageFile:[NSString stringWithFormat:@"%s_P.png",keyNames[i]] forTag:keyTags[i]+pressedOffset];
}
}
}
-(void)addImageFile:(NSString*)imageFile forTag:(int)tag
{
NSLog(@"Adding tag:%d for file %@", tag, imageFile);
}