Es macht mich verrückt, weil es mir noch nie passiert ist, und ich habe das schon Dutzende Male gemacht.Null Wert beim Passieren der View Controller
Wenn ein Wert zwischen zwei View-Controllern übergeben wird, lautet der Wert NULL
.
Ich habe eine prepareForSegue:
Methode:
- (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;
}
}
Aber wenn die Segue durchgeführt wird ich versuche, den currentUser
Wert zu protokollieren und es ist NULL
.
Irgendwelche Ideen, Leute?
Versuchen Sie, 'destinationViewController' zu protokollieren. – matt
Yup, ich bin ein Idiot. Es war null. Durch die Änderung (vorerst) in [destinationTabController viewController] objectAtIndex: 0] wurde das Problem behoben. – Ancinek
:) Wenn etwas nicht funktioniert, melden Sie es sich an. Objective-C verbietet nicht, wenn die Dinge null sind, also kann das immer die Ursache sein. Ein weiterer grundlegender Grund für den Wechsel zu Swift: Sie sollten darüber nachdenken. – matt