Jak udostępniać dane między ViewControllers w aplikacji z kartami

Chcę udostępnić zmienną między kilkoma ViewControllerami w aplikacji z kartami. Próbowałem użyć [NSUserDefaults], aby zapisać i załadować zmienne, ale aplikacja ulega awarii za każdym razem. Oto mój kod w SecondViewController

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.

        totalApples = [[NSUserDefaults standardUserDefaults]integerForKey:@"numberOfApples"];
        [self setText:[NSString stringWithFormat:@"%g", totalApples] withExistingAttributesInLabel:self.l1];

    }

Podkreśla [super viewDidLoad]; kiedy klikam kartę, aby otworzyć drugi widok jako przyczynę awarii.

questionAnswers(2)

yourAnswerToTheQuestion