2012-08-24 2 views
1

나는 ios dev에 다소 익숙하며 사용자가 이미 액세스 토큰으로 승인 된 경우 버튼을 비활성화하려고합니다. 나는 그 일을하는 깔끔한 방법이 있는지 모르겠습니다. 바로 지금 내 viewWillAppearear에서 api 클라이언트 객체 isAuthorized : bool을 반환하고 버튼을 yes/no로 설정합니다. isAuthorized에서 액세스 토큰이 존재하는 경우 테스트 HTTP 요청을하지만 완료 블록을 기다려야하기 때문에 타이밍이 해제되고 버튼이 비활성화되어서는 안됩니다. NSNotification을 설정해야합니까? 아니면 클라이언트에서가 아니라 viewWillAppear에서 테스트 HTTP 요청을해야합니까? 아니면 더 나은 해결책이 있습니까?액세스 토큰이 아직 유효한지 확인하는 방법?

감사

답변

1

첫째, 좋은 서버에 클라이언트 객체 회담은 "클라이언트"개체와 당신의 뷰 컨트롤러는 단지 회담이. 그것이 올바른 레이아웃입니다. 이제 UI 부분을 디자인하는 방법 :

  • 클라이언트 개체는 "내 인증이 현재입니까?" 즉 한 번 확인했거나 마지막 X 분에 체크인했음을 의미 할 수 있습니다. 당신의 상황에 달려 있습니다.

  • isAuthorized으로 전화를 걸 때 인증이 현재 유효하지 않으면 즉시 NO을 반환 한 다음 요청하십시오.

  • 요청이 들어 오면 으로 전화하면 KVO 알림이 게시됩니다.

  • 귀하의보기 컨트롤러 KVO는 isAuthorized을 관찰하고 필요에 따라 버튼을 업데이트합니다. (다른 방법으로 당신은 위임 방법 또는 알림을 사용할 수 있습니다.)

당신이 단지 3 옵션 열거 대신하는 방법 authorizationState 만들기 "나도 몰라"에서 "권한이 없습니다"구별하려면 isAuthorized입니다.

관련 문제