0
これまで私には起こったことがないので、ナットを駆動しています。これを何十回もやったことがあります。ビューコントローラ間を渡すときのヌル値
2つのView Controller間で値を渡すと、値はNULL
になります。
私はprepareForSegue:
方法があります:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString: @"LoginSegue"]) {
UITabBarController *destinationTabController = [segue destinationViewController];
ViewController *destinationViewController = destinationTabController.selectedViewController;
NSLog(@"Logged user is %@.", loggedUser); //This prints out the user correctly
destinationViewController.currentUser = loggedUser;
}
}
をしかしセグエが行われたとき、私はcurrentUser
値をログに記録しようとすると、それはNULL
です。
アイデア、人々?
'destinationViewController'を記録してみてください。 – matt
うん、私はばかです。それはnullだった。これを(現在は)[destinationTabController viewController] objectAtIndex:0]に変更すると問題が解決されました。 – Ancinek
:)何かがうまくいかないときは、いつでもそれを残しておいてください。 Objective-Cは、物事がゼロの時にはbarfにならないので、常にこれが原因である可能性があります。スイフトに切り替えるもう一つのすばらしい理由:あなたはそれを検討するべきです。 – matt