사용자로부터 로그인 정보를 얻기 위해 모달로 표시하는보기가 있습니다. 나는 다음과 같은 설정을 가지고 : 사용자 이름 및 암호 필드와 로그인 버튼과 하나의 간단한 세포 (유형 UITableViewCell
내 UITextField
모두) :보기를 닫기 전에 UITextField에서 최신 값을 읽는 중 문제가 발생했습니다.
- 뷰 컨트롤러 표는 3 개 개의 셀이있는
UITableViewController
- 입니다.
- 값은
textFieldDidEndEditing:
메시지 - 에서 읽습니다. 텍스트 필드는 다른 태그 값으로 식별됩니다.
문제
내 문제는 초점이 UITextField
에 있고 사용자가 로그인 버튼을 터치 할 때, 각각의 UITextField
의 textFieldDidEndEditing:
메시지가didSelectRowAtIndexPath:
후 를 전송한다는 것입니다. 이제 여기서 문제는 새로운 사용자 자격 증명에 대한 메시지를 LoginViewControllerDelegate
에 didSelectRowAtIndexPath:
에 보내고 텍스트 필드의 값을 아직 읽지 못했다는 것입니다.
일부 아이디어는
나는 어떻게이 문제를 해결하는 몇 가지 아이디어를 가지고,하지만 난 그들 각각의 합병증이있다.
먼저 로그인보기를 닫고 닫는 동안 대리인에게 알림을 보내지 만 위임자 (이 로그인보기를 소유 한 사람)에게 모든 권한을 부여하려는 경우 대리인의 작업으로 회의록을 닫아야한다고 생각합니다. 성공적인 로그인에 대한 로그인보기 (로그인보기는 자격 증명 만 읽으며 대리인은 자격 증명을 확인합니다).
둘째, 위임자를 호출하기 전에 사용자 이름이나 암호를 읽을 수도 있지만 텍스트 필드를 찾아야합니다. 뷰가 표시되지 않으면 셀이 존재한다고 가정하는 것이 잘못된 것입니다. 이것은 단지 큰 일이지만, 나는 그것을 옳게 만들지 않을 것입니다. UITextField
을 보유해도 괜찮습니까? 그러나이 방법은 텍스트 필드를 제공하는 사용자 지정 셀을 사용할 수 없습니다. (유효) 사용자 자격 증명에 대한
- 필요가 발견, 로그인 뷰가
- 사용자는 사용자 이름과 암호를 입력하고 완료를 호출합니다 팝업됩니다 :
는 기본적으로 나는 다음과 같은합니다.
- 대리인이 이러한 자격 증명의 유효성을 검사합니다. 작동하지 않으면 메시지가 표시되고 2 단계를 다시 시도하십시오.
- 인증 정보는 정상이므로 로그인보기를 닫고 계속하십시오.
좋아, 시도해 보았습니다. 그것은 버튼의 대상 작업이 텍스트 필드의 값을 읽는'textFieldDidEndEditing :'전에 여전히 실행되는 것 같습니다. – mkko