현재 위치 - 주공해몽공식사이트 - 관음보살의 랜덤 번호 뽑기 - Swift-RxSwift 32 사용 상세 정보 (UITableView 3 사용: 양식 데이터 새로 고침)

Swift-RxSwift 32 사용 상세 정보 (UITableView 3 사용: 양식 데이터 새로 고침)

(1) 인터페이스가 초기화된 후 tableView 는 기본적으로 일부 임의 데이터를 로드합니다.

(2) 오른쪽 위에 있는 새로 고침 버튼을 클릭하면 tableView 가 다시 로드되고 새 데이터가 표시됩니다.

(3) 데모의 편의를 위해 수집한 데이터가 사실이 아닐 때마다 네트워크 요청을 시작합니다. 대신 이 비동기 요청을 시뮬레이션하기 위해 로컬 생성 후 2 초 지연됩니다.

(1)flatplattest 는 "새로 고침" 버튼을 짧은 시간 내에 반복적으로 클릭하면 (마지막 요청이 아직 돌아오지 않음) 테이블은 마지막 요청만 받고 표시합니다. 여러 개의 요청이 시작되지만 양식이 끊임없이 새로 고쳐지는 현상을 피하다.

(2) 우리는 또한 출처를 제한한다. 즉, throttle 은 임계값 (예: 1 초) 을 설정합니다. 1 초 내에 여러 번의 클릭이 있고 마지막만 취하면 자연스럽게 데이터 요청이 한 번만 전송됩니다.

실제 프로젝트에서는 완료되지 않은 네트워크 요청을 중단해야 할 수도 있습니다. 예를 들어 페이지 또는 분류를 전환할 때 마지막 요청이 완료되지 않은 경우 취소해야 합니다. 다음 예는 이 함수를 구현하는 방법을 보여줍니다.

여기서 우리는 이전 예를 기초로' 중지' 버튼을 하나 더 추가했다. 요청이 시작되고 데이터가 반환되지 않은 경우 (2 초 이내) 이 버튼을 누르면 결과 수신 및 처리가 중지됩니다. 즉, 이 양식에서는 요청된 데이터를 로드하고 표시하지 않습니다.

이 함수는 단순히 takeUntil 연산자에 의해 구현됩니다. TakeUntil 의 관찰 가능한 오브젝트가 값을 보내면 해당 관찰 가능한 오브젝트가 종료됩니다.