Вы действительно пытались запустить приложение «Настройки» и выбрать «Внутри», а затем вернуться в приложение, чтобы проверить? Приложение не будет принимать значение по умолчанию автоматически.
Вы можете проверить, действительно ли ключ существует с
NSNumber* obj = [defaults objectForKey:@"km"];
NSInteger choiceOne;
if (obj == nil) {
choiceOne = 1;
[defaults setInteger:choiceOne forKey:@"km"];
} else {
// check whether obj really implements -integerValue if needed.
choiceOne = [obj integerValue];
}
Или просто установите значение 1, если оно выходит за пределы ожидаемого диапазона.