Como armazenar um flutuador de recuperação do NSUserDefaults

Estou tendo problemas para armazenar e recuperar um float no NSUserDefauts. Eu armazeno o valor, mas quando o recupero, ele retorna 0.

Aqui está o que eu tentei e não funcionou:

[pref setFloat:3.0f forKey:@"key"];
float value = [pref floatForKey:@"key"]; //value=0

[pref setFloat:3 forKey:@"key"];
float value = [pref floatForKey:@"key"];//value=0

[pref setObject:[NSNumber numberWithFloat:3] forKey:@"key"];
float value = [[pref objectForKey:@"key"]floatValue];//value=0

[pref setObject:[NSNumber numberWithFloat:3.0f] forKey:@"key"];
float value = [[pref objectForKey:@"key"]floatValue];//value=0

O que eu estou fazendo errado aqui? Eu tentei esses 4 pedaços de código, mas todos retornam zero ao recuperar o float de NSUserDefault

Qualquer ajuda é apreciada. Obrigado

questionAnswers(14)

yourAnswerToTheQuestion