Ios 序列/未捕获异常错误
我正在尝试创建一个有两个基本屏幕的应用程序,主屏幕和设置屏幕。我使用导航控制器和segue从主屏幕切换到设置,我倒带segue从设置屏幕2返回主屏幕。这一切都很好 我想添加一个包含单元格中列出的帮助主题的表,但无法使用“帮助”按钮选择正确的序列。我一直收到一个未捕获的异常错误,因为程序正在尝试执行准备继续操作并将数据发送回主屏幕。我对如何解决这个问题感到困惑。我用导航控制器和分段代替按钮等来提高效率,看起来更麻烦Ios 序列/未捕获异常错误,ios,uistoryboardsegue,Ios,Uistoryboardsegue,我正在尝试创建一个有两个基本屏幕的应用程序,主屏幕和设置屏幕。我使用导航控制器和segue从主屏幕切换到设置,我倒带segue从设置屏幕2返回主屏幕。这一切都很好 我想添加一个包含单元格中列出的帮助主题的表,但无法使用“帮助”按钮选择正确的序列。我一直收到一个未捕获的异常错误,因为程序正在尝试执行准备继续操作并将数据发送回主屏幕。我对如何解决这个问题感到困惑。我用导航控制器和分段代替按钮等来提高效率,看起来更麻烦 #import "SignalViewController.h" #import
#import "SignalViewController.h"
#import "SetUpViewController.h"
@interface SignalViewController ()
@end
@implementation SignalViewController
-(IBAction)unwindToSignalView:(UIStoryboardSegue *)segue
{
float minSlider = sensorMin; //Get Slider range values
float maxSlider = sensorMax;
sensorValueSlider.minimumValue = minSlider; //Set Slider Range
sensorValueSlider.maximumValue = maxSlider;
NSString* sensorMinD = [NSString localizedStringWithFormat:@"%.1f",sensorMin];//save default values next 9 lines
NSString* sensorMaxD = [NSString localizedStringWithFormat:@"%.1f",sensorMax];
NSString* signalMinD = [NSString localizedStringWithFormat:@"%.1f",signalMin];
NSString* signalMaxD = [NSString localizedStringWithFormat:@"%.1f",signalMax];
[labelY1 setText:sensorMinD];//set labels to match settings page next 3 lines
[labelY3 setText:sensorMaxD];
[labelX1 setText:signalMinD];
[labelX3 setText:signalMaxD];
//NSLog(@"signalMin: %f ", signalMin);
//NSLog(@"signalMax: %f ", signalMax);
//NSLog(@"sensorMin: %f ", sensorMin);
//NSLog(@"sensroMax: %f ", sensorMax);
}
#import "SignalViewController.h"
#import "SetUpViewController.h"
@interface SetUpViewController ()
@end
@implementation SetUpViewController
@synthesize sensorMinY1;
@synthesize sensorMaxY3;
@synthesize signalMinX1;
@synthesize signalMaxX3;
@synthesize sensLabel;
@synthesize sigLabel;
//@synthesize buttonHelpSetUp;
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
self.view.backgroundColor = [UIColor blueColor];
SignalViewController *passValue = [segue destinationViewController];
***passValue.sensorMin = [[sensorMinY1 text] floatValue];//sensorMinY1;***
passValue.sensorMax = [[sensorMaxY3 text] floatValue];//sensorMaxY3;
passValue.signalMin = [[signalMinX1 text] floatValue];//signalMinX1;
passValue.signalMax = [[signalMaxX3 text] floatValue];//signalMaxX3;
[passValue.labelSigUnits setText:sigLabel.text];
[passValue.labelSensUnits setText:sensLabel.text];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:signalMinX1.text forKey:@"X1"];
[defaults setValue:signalMaxX3.text forKey:@"X3"];
[defaults setValue:sensorMinY1.text forKey:@"Y1"];
[defaults setValue:sensorMaxY3.text forKey:@"Y3"];
}
这是有效的代码设置。我只添加了表视图控制器,然后将其嵌入到导航控制器中。然后,我按ctrl键从帮助按钮工具栏项拖动到新的导航控制器,并创建了一个自动序列,就像我之前所做的一样。只有这一次我出现错误,它挂在上面的asterix中的行上 prepareforsgue是为视图控制器之外的每个segue调用的。如果您有多个segue,则必须为它们提供所有标识符,然后在prepareforsgue中检查标识符并在那里执行正确的操作
目前,您假设任何segue的目标控制器都是SignalViewController 显示您迄今为止所做的,添加您的代码请添加更具描述性的标题!当前的一篇文章完全没有说明问题的本质。对不起,第一篇文章忘了编辑标题。好的,这很有意义。明天早上我会试试这种方法。非常感谢。