2012-08-15 5 views
1

UITwitch를 사용하고 있습니다. 다른 것들 중에서도 마녀는 UITextfield를 사용하지 않습니다. NSUserDefaults를 사용하는 경우 , 나는NSUserDefaults를 사용하여 텍스트 필드를 설정하십시오.

[[NSUserDefaults standardUserDefaults] 
    setBool:[sender isOn] 
    forKey:MyPrefKey]; 

그러나 어떻게 textfiled이 활성화 된 것을 기억하는 (온/오프)의 현재 상태를 기억하는 스위치를 관리? "setBool"을 사용하는 것이 궁금합니다. setObject를 사용하는 방법을 알 수 없습니다.

[[NSUserDefaults standardUserDefaults] 
     setObject:[textField setEnabled:NO] 
     forKey:MyPrefKey]; 

작동하지 않습니다.

답변

1

setBool을 사용하는 이유는 무엇입니까?

중 하나가 작동해야하지만 당신은 사용자의 기본 설정을 동기화하는 것을 기억해야한다 : 당신의 두번째 예에서 또한

[[NSUserDefaults standardUserDefaults] synchronize]; 

이,이 반환 있기 때문에, 대신 setEnabled:NO[textField isEnabled]에 플래그를 오류로 설정해야한다

빈. 당신은 또한가 NSNumber에 싸여해야 원시적 BOOL 전달하려고하는 객체

[[NSUserDefaults standardUserDefaults] 
     setObject:[NSNumber numberWithBool:[textField isEnabled]] 
     forKey:MyPrefKey]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
로 저장하기
관련 문제