NavigationController があり、タブの 1 つが ViewController をロードすることになっています。
このViewController(1)は、「viewDidLoad」にロードされると、いくつかの処理を実行してから、新しいViewController(2)をプッシュします。問題は、ViewController (1) が既に viewDidLoad を通過した後、アプリが再起動されない限り、再度通過しないことです。
これに対する賢い方法を参照していただけますか?
これが私が実際にやっていることです:
- (void)viewDidLoad
{
// Keep track of cash using NSUserDefaults
BOOL dreceived[63];
int rightData;
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
//Load cash switches
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSData *data = [prefs objectForKey:@"dreceived"];
memcpy(&dreceived, data.bytes, data.length);
for(int n = 72; n >= 1; n = n - 1)
{
if(dreceived[n-1]==1)
{
rightData = n;
}
}
NSLog(@"Right Data %d", rightData);
CashItem *c = [cashflow objectAtIndex:rightData];
// Go for details
CashDetailedViewController *cdetail = [[[CashDetailedViewController alloc] init] autorelease];
cdetail.cash = c;
cdetail.navigationItem.hidesBackButton = YES;
[self.navigationController pushViewController:cdetail animated:YES];
}
問題は、このコードが二度と呼び出されないことです。タブを 2 回タッチすると、空白のビューが表示されます (元の xib ビュー)。
ありがとう!