我真的很想知道这里发生了什么。
我基本上试图在两个类之间传递一个变量,但它甚至没有达到其中一个变量的那一点。
我声明了两个字符串和两个按钮。
@property (nonatomic, strong) NSString *qm;
@property (nonatomic, strong) NSString *m;
@property (nonatomic, strong) IBOutlet UIButton *mBtn;
@property (nonatomic, strong) IBOutlet UIButton *qmBtn;
我合成了琴弦..
@synthesize qm;
@synthesize m;
初始化字符串......
- (void)viewDidAppear:(BOOL)animated{
qm = @"0";
m = @"0";
}
这些方法根据视图上的选定按钮重新分配新变量(我肯定确保将按钮链接到视图中对应的变量和方法)
- (IBAction)mPressed:(id)sender {
m = @"1";
}
- (IBAction)qmPressed:(id)sender {
qm = @"1";
NSLog(@"This value%@", qm);
}
NSLog打印值1,这就是我想要的
当程序进入segue部分时。事情没有按计划进行......
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Here:%@", qm);
if([m isEqualToString: @"1"]){
QMMPOpViewController *mpOp = [segue destinationViewController];
NSLog(@"test 1:%@",self.qm);
mpOp.qm = self.qm;
mpOp.selectedQuiz = self.selectedQuiz2;
NSLog(@"This value2%@", qm);
NSLog(@"This value3%@", m);
}
else if([qm isEqualToString: @"1"]){
QMMPOpViewController *mpOp = [segue destinationViewController];
NSLog(@"test 2:%@",self.qm);
mpOp.qm = self.qm;
mpOp.selectedQuiz = self.selectedQuiz2;
NSLog(@"This value2%@", qm);
NSLog(@"This value3%@", m);
}
else{
QMSPController *tableVC = [segue destinationViewController];
tableVC.selectedQuiz = self.selectedQuiz2;
}
}
我更改了qm
的值; NSLog
输出值0而不是新变量,1因此永远不会调用([qm isEqualToString: @"1"])
。
这很简单但是尽管我试图调试这个问题仍然无法工作。 m
值执行正常。虽然他们的操作方式相同。出于某种原因,另一个则没有。
也许我错过了一些明显或基本的东西。或者,如果有人能让我知道可能会发生什么,那将非常感激。