2011-03-12 2 views
2

ViewController을 종료 한 후 UISlider 위치 (또는 현재 값)를 저장하는 데 문제가 있습니다. UISlider은 내 앱 설정 ViewController에 있으며 앱의 음악 볼륨을 제어합니다. 값을 변경하고 설정을 그대로두면 ViewController 음악은 사용자가 선택한 수준을 사용합니다. 그러나 ViewController 설정으로 돌아 가면 인터페이스 빌더에서 설정 한 기본값으로 돌아갑니다.UISlider의 위치 (또는 현재 값)를 저장하는 방법은 무엇입니까?

나는 이미 NSUserDefaults으로 값을 저장해 보았지만 성공하지 못했습니다. 이러한 유형의 코드를 구현하려면 어떻게해야합니까?

답변

4

NSUserDefaults는 이와 같은 설정을 저장하는 쉽고 효과적인 방법이지만 사용자가 지정한 값만 저장합니다. 다음에 컨트롤러를로드 할 때 슬라이더의 값을 설정하기 위해 값을 검색하고 사용해야합니다. 문제를 일으키는 코드를 게시하고 작동하지 않는 코드에 대한 설명을 제공하면 도움이됩니다. sharedDefaults 객체의 값을 저장할 수 있습니까? 그것을 검색 할 수 있습니까?

예를 들어, 온도를 제어하는 ​​슬라이더의 값을 저장하려면, 다음과 같이 할 거라고 :

[[NSUserDefaults sharedDefaults] setFloat:temperatureSlider.value forKey:@"temperature"]; 

와 슬라이더를 복원하기를, 당신은 말할 것 :

float temperature = [[NSUserDefaults sharedDefaults] floatForKey:@"temperature"]; 
temperatureSlider.value = temperature; 

물론 "@ 온도"와 같은 것들에 상수를 사용하는 것이 좋습니다. 나는 여기서 그것을 가능한 한 간단하게 유지하려고 노력하고있다.

+0

대단히 고맙습니다. 알아 냈습니다. ForKey Name의 간단한 오타가 대문자로 표시되었고 하나는 대문자로 표시되지 않았습니다. –

관련 문제