NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
,아이폰 - NSUserDefaults standardUserDefaults에 키가 있는지 감지하는 방법
BOOL boolFromPrefs = [defaults boolForKey:@"theBoolKey"];
과 같은 호출을 사용합니다. 저장된 BOOL 값을 얻으려면.
키가 발견되지 않으면 NO가 리턴됩니다 (boolForKey의 기본 동작).
하지만 ... NO는 저장된 설정이 될 수 있습니다. intForKey
도 마찬가지입니다. 값을 얻기 전에 키가 있는지 어떻게 테스트 할 수 있습니까?
나는 귀중한 선택이지만, 기본값을 등록하지 않으면 유익한 방법을 알 수 있습니다. 사용자가 명시 적으로 yes 또는 no로 설정했는지 또는 모두 설정하지 않았는지 알 수있는 3 진 로직을 제공합니다. – Joe
잘 모르겠지만이 방법이 처음 1.0 버전에서는 잘 작동한다고 생각합니다. 나중에 환경 설정 계층에서 큰 변화가있는 경우 전체 내용을 재발송하기 위해 작성된 내용과 그렇지 않은 내용을 알아야 할 것입니다. 아마도 ... 파일에 단일 Prefs 버전을 포함하는 것으로 충분할 것입니다. 나도 몰라, 나는 오래된 Preference 파일로 미래에 어떤 문제를 예방하기 위해이 일을하고있다. 이것에 관해 좋은 읽을 거리를 알고 있습니까? – Oliver
이러한 기본값은 NSUserDefaults에 기록되지 않으므로 (이후 출시 할 때마다 등록해야합니다), 이후 버전에서 새 기본값을 사용하려면 새 기본값을 등록하면됩니다. 사용자가 새로운 기본값을 사용하는 설정을 건드린 적이없는 경우 설정을 변경하면 자신의 설정을 사용하려고 할 가능성이 큽니다. –