2011-12-04 16 views
0

Когда я пытаюсь использовать NSUserDefaults на двух разных экранах, NSUserDefaults не применяется и не возникает ошибки. В принципе, я хочу, чтобы следующий уровень был доступен только после завершения первого.Мой код NSUserDefaults не работает

Вот мой код:

View1:

- (void)viewDidLoad {  
    [super viewDidLoad]; 
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    NSInteger level1Complete = [prefs integerForKey:@"levelComplete"]; 

    if (level1Complete == 11) { 
     button2.hidden = NO; 
    } 
} 

View2:

if (number11 == 5) { 

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    [prefs setInteger:11 forKey:@"levelComplete"]; 

    [prefs synchronize]; 
} 

Пожалуйста, обратите внимание: игра играть сама view2 и уровень выбора является view1.

+0

Возникает вопрос? Я не вижу вопросительного знака. – Caleb

ответ

2
[[NSUserDefaults standardUserDefaults] setValue:@"11" forKey:@"levelComplete"]; 

, если вы можете сохранить его как значение, а когда вы его извлечете, преобразуйте его в целое.

Все лучшее!

Смежные вопросы