거의 모든 앱에서 정보 목록을 표시해야 하며, 데이터를 다시 로드할 때 사용자는 풀 투 리프레시 기능을 사용할 수 있기를 기대합니다. 이를 수행하는 방법을 살펴보겠습니다. 동기화 게이트웨이 그리고 카우치베이스 라이트 iOS용.
"채널"을 사용한 데이터 라우팅
동기화 게이트웨이는 채널을 사용하여 많은 사용자 간에 데이터베이스를 쉽게 공유하고 데이터베이스에 대한 액세스를 제어할 수 있도록 합니다.
동기화 게이트웨이의 복제는 복제할 채널 집합을 지정합니다. 지정된 채널에 속하지 않는 문서는 무시됩니다.
동기화 게이트웨이에 다음 구성을 사용합니다:
8번 줄에서 게스트 계정을 활성화하고 게스트 계정에 public_recipes 채널에 추가합니다. 13줄부터 17줄까지는 동기화 기능을 정의하는 줄로, 레시피 유형의 모든 문서가 public_recipes 채널. 이 예에서는 한 가지 유형의 문서만 사용하겠습니다. 하지만 앱에서 다른 여러 유형의 문서를 사용할 수도 있습니다.
다음에서 동기화 게이트웨이 다운로드 여기 를 클릭하고 시작하세요:
$ ~/Downloads/sync_gateway/bin/sync_gateway config.js
문서 삽입
이제 동기화 게이트웨이가 실행 중이므로 REST API를 사용하여 문서를 저장할 수 있습니다. 새 문서를 만들려면 http://localhost:4984/cookbook/ 으로 POST 요청을 보내야 합니다:
curl -X POST -H 'Content-Type: application/json' -d '{"type":"recipe","title":"레몬 치킨"}' http://localhost:4984/cookbook/
새로 고침할 때마다 새 문서를 가져올 수 있도록 하려면 이 bash 스크립트를 사용하여 2초 간격으로 새 문서를 저장하세요.
당겨서 새로 고침
iOS 쪽에서는 풀 복제를 시작하기만 하면 됩니다. public_recipes 채널에 알림을 보냅니다. 복제 개체에 대한 알림을 구독하고 복제 실행이 완료되면 그에 따라 테이블 보기를 다시 로드할 수 있습니다.
의 소스 코드를 다운로드하세요. 풀투리프레시 + 카우치베이스 라이트 의 예 github.