我只是不明白..这种情况到处发生,但我找不到任何理由或理由。我已经搜索了一段时间没有运气..也许你们可以告诉我我做错了什么?
我在 ViewController_B 的 ViewController_A 中设置了一个 BOOL。单步执行代码,我看到 BOOL 变为 YES,但是当我被发送回 VC_A 时,它又变为 NO
更新:这一切都在主线程上。
这是我的代码。
ViewController_A.h
BOOL shouldLogin;
@property(nonatomic,assign)BOOL shouldLogin;
ViewController_A.m
@synthesize shouldLogin;
//in viewWillAppear of ViewController_A
if (shouldLogin == YES) {
//do something - im trying to get in here but I cant because the BOOL is NO when I come back to this view
}
这是我在 ViewController_B 中设置 BOOL 的方法
ViewController_A * vc = [[ViewController_A alloc]init];
vc.shouldLogin = YES;
//stepping through the code and looking at the value, shouldLogin shows YES
[self dismissModalViewControllerAnimated:YES]; // this drops down VC_B which will show VC_A
//now VC_A just came into view and the BOOL is now NO which makes the compiler skip over my IF statement
更新:删除了我的发布调用,但仍然是同样的问题。