2010-06-28 4 views
-1

사용자가 "remember me"를 선택할 수 있도록 UISwitch가있는 로그온 화면이있어서 원하는 경우 키 체인에 자격 증명을 저장할 수 있습니다.비동기 호출 후 UISwitch 상태 읽기

이것은 사용자가 "내 정보 기억"을 선택하고 서버가 사용자 이름/비밀번호를 허용 한 경우에만 발생합니다. 그러나 서버가 응답하면 UISwitch의 상태를 참조하는 데 어려움이 있습니다. 놀랍게도 myUISwitch.on의 가치는 (null)입니다.

NSLog (@"(Successful login. Value of UISwitch rememberMe: %@)", rememberMe.on); 

이 정보를 임시 부울에 저장해야합니까?

+0

UISwitch.on은 ID (또는 다른 NSObject *)가 아닌 BOOL (서명 된 문자로 typedefed)이므로 "% @"로 포맷하면 예상 한대로 작동하지 않습니다. int로 캐스팅하고 "% d"또는 유사한 것을 사용하십시오. –

답변

0

null 인 경우 on 속성이 아니고 설정되지 않은 rememberMe 변수입니다. Interface Builder 또는 코드에서 올바르게 연결하십시오.

또한 항상 메인 스레드에서 UIKit에 액세스해야합니다. 예를 들어 performSelectorOnMainThread : enter code here을 사용해야합니다.

0

스위치를 참조 할 때까지 뷰가 여전히 해제되지 않습니까? 런타임에 이미 UISwitch이 출시 되었습니까? 언제 그 상태를 읽으려고 했습니까? 상태를 읽을 때까지 컨트롤이 화면에 표시됩니까?