私はそれを理解していません..これはあちこちで起こりますが、ライムや理由を見つけることができません。私はしばらくの間SOを検索しましたが、運がありませんでした。多分あなたたちは私が間違っていることを教えてくれますか?
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
更新:私が持っていたリリース呼び出しを削除しましたが、それでも同じ問題です。