Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 警告消息试图创建块为非';的USE#BLOCK"IN"帧变量;镜框中的t_Iphone_Ios5_Xcode4.2 - Fatal编程技术网

Iphone 警告消息试图创建块为非';的USE#BLOCK"IN"帧变量;镜框中的t

Iphone 警告消息试图创建块为非';的USE#BLOCK"IN"帧变量;镜框中的t,iphone,ios5,xcode4.2,Iphone,Ios5,Xcode4.2,设置异常断点并调试时收到捕获点2(引发异常)的警告消息。当前语言:自动;当前目标-c 警告:试图创建在\u帧中使用\u BLOCK\u变量,但块不在帧中。 (gdb) 这意味着什么 在我的例子中,UIToolbar上的mainviewcontroller有一个plapause切换按钮,点击该按钮时,播放音频文件并使用执行选择器逐个加载20个视图控制器 -(void)playpauseAction:(id)sender { if ([audioPlayer isPlaying]){

设置
异常断点
并调试时收到捕获点2(引发异常)的警告消息。当前语言:自动;当前目标-c 警告:试图创建
在\u帧中使用\u BLOCK\u
变量,但块不在帧中。 (gdb)

这意味着什么

在我的例子中,UIToolbar上的mainviewcontroller有一个plapause切换按钮,点击该按钮时,播放音频文件并使用执行选择器逐个加载20个视图控制器

-(void)playpauseAction:(id)sender 
{

 if  

  ([audioPlayer isPlaying]){

 [sender setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateSelected];

 [audioPlayer pause];

  } else {

 [sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];

 [audioPlayer play];

 [self performSelector:@selector(displayviewsAction:) withObject:nil afterDelay:11.0];

  }  

}

- (void)displayviewsAction:(id)sender
{
FirstViewController *viewController = [[FirstViewController alloc] init];

viewController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:viewController.view];

[self.view addSubview:toolbar];

[self performSelector:@selector(secondViewController) withObject:nil afterDelay:23];

[viewController release];

}

-(void)secondViewController {
SecondViewController *secondController = [[SecondViewController alloc] init];

secondController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:secondController.view]; 

[self.view addSubview:toolbar];

[self performSelector:@selector(ThirdviewController) withObject:nil afterDelay:27];

[secondController release];
}
当简单地尝试在模拟器中运行应用程序时,它可以正常工作,但当使用异常断点进行调试并点击“播放”按钮开始调试时,会收到此警告消息


任何人都知道异常断点的情况。

当调试器无法为特定对象创建任何信息结构时,这是调试器发出的警告

以下是一个例子:

NSString* string = [[NSString alloc] initWithUTF8String:line];
在这一行代码中,initWithUTF8String方法:需要UTF-8编码的C字符串,而不是NSString对象。 因此,这次编译器将给出一个
USE\u BLOCK\u IN\u FRAME
警告

我们应该确保所有警告都已解决,因为这可能是一个大错误,或者应用程序可能在不久的将来崩溃


更新:



因此,如何修复此警告确保您使用的所有方法和对象都正确无误,例如,如果您使用的是textfield或table view方法,请首先确保所有委托都导入到.h文件中,如果你使用的是来自IB的tham,那么你可以在使用geter或setter方法时创建IBOutlet和property,并在.m中合成它们。我不在我的系统中,所以我现在无法检查所有事情,我将在明天早上回复你,而你可以在我的回复中检查你的代码,并更新。。。
-(void)playpauseAction:(id)sender 
{

    UIButton *btn = (UIButton *)sender;
      if([audioPlayer isPlaying]){

     [audioPlayer pause];   

     [btn setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];

      } else {

     [audioPlayer play];
     [btn setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];



 [self performSelector:@selector(displayviewsAction) withObject:nil afterDelay:11.0];

  }  

}

- (void)displayviewsAction
{
FirstViewController *viewController = [[FirstViewController alloc] initWithNibName:"FirstViewController"];

viewController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:viewController.view];

[self.view addSubview:toolbar];

[self performSelector:@selector(secondViewController) withObject:nil afterDelay:23];

[viewController release];

}

-(void)secondViewController {
SecondViewController *secondController = [[SecondViewController alloc] init];

secondController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:secondController.view]; 

[self.view addSubview:toolbar];

[self performSelector:@selector(ThirdviewController) withObject:nil afterDelay:27];

[secondController release];
}