Windows Azure 페이징 데이터

HernandoZ

안녕하세요, azure에서 2000 개 이상의 레코드를 다운로드해야합니다. 다운로드 할 수있는 최대 개수는 한 번에 1000 개이므로 완료 처리기를 사용하여 200 개를 다운로드해야합니다.

그들은이 코드를 예제로 게시했지만 사용 방법을 모르겠습니다.

이것을 Xcode에 복사하면 오류가 있습니다.

  • (bool) loadResults ()-오류 "Expect Method Body"

페이지에서 데이터 반환

모바일 서비스는 단일 응답으로 반환되는 레코드의 양을 제한합니다. 사용자에게 표시되는 레코드 수를 제어하려면 페이징 시스템을 구현해야합니다. 페이징은 MSQuery 개체의 다음 세 가지 속성을 사용하여 수행됩니다.

BOOL includeTotalCount

NSInteger fetchLimit

NSInteger fetchOffset

다음 예제에서 간단한 함수는 서버에서 20 개의 레코드를 요청한 다음 이전에로드 된 레코드의 로컬 컬렉션에 추가합니다.

- (bool) loadResults() {
MSQuery *query = [self.table query];

query.includeTotalCount = YES;
query.fetchLimit = 20;
query.fetchOffset = self.loadedItems.count;
[query readWithCompletion:(NSArray *items, NSInteger totalCount, NSError *error) {
    if(!error) {
        //add the items to our local copy
        [self.loadedItems addObjectsFromArray:items];

        //set a flag to keep track if there are any additional records we need to load
        self.moreResults = (self.loadedItems.count < totalCount);
    }
}];
}

당신의 도움을 주셔서 감사합니다.

조엘

그렇다면 Error " Expect Method Body "코드에 잘못 복사하고 서식 문제가있는 것입니다.

단일 호출에서 페이징을 사용하여 데이터를로드하려면 다음과 같이합니다.

.h 파일에서 선언

typedef void (^CompletionBlock) ();

@property (nonatomic, strong) NSMutableArray *results; 

.m 파일에서

- (void)loadData
{
    self.results = [[NSMutableArray alloc] init];
    MSClient *client = [MSClient clientWithApplicationURLString:@"YOUR_URL" applicationKey:@"YOUR_KEY"]
    MSTable *table = [client tableWithName:@"YOUR_TABLE"];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"YOUR_SELECT_FILTER"];
    MSQuery *query = [[MSQuery alloc] initWithTable:table predicate:predicate];
    //note the predicate is optional. If you want all rows skip the predicate
    [self loadDataRecursiveForQuery:query withCompletion:^{
        //do whatever you need to do once the data load is complete
    }];
}

- (void)loadDataRecursiveForQuery:(MSQuery *)query withCompletion:(CompletionBlock)completion
{
    query.includeTotalCount = YES;
    query.fetchLimit = 1000; //note: you can adjust this to whatever amount is optimum
    query.fetchOffset = self.results.count;
    [query readWithCompletion:(NSArray *items, NSInteger totalCount, NSError *error) {
        if(!error) {
            //add the items to our local copy
            [self.results addObjectsFromArray:items];

            if (totalCount > [results count]) {
                [self loadDataRecursiveForQuery:query withCompletion:completion];
            } else {
                completion();
            }
        }
    }];
}

참고 :이 코드를 테스트하지는 않았지만 어느 정도 작동 할 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Windows Azure 데이터 센터간에 서비스 이동

분류에서Dev

Docusign 페이징 봉투 JSON 데이터

분류에서Dev

저장 프로 시저를 사용한 Azure DocumentDB 페이징?

분류에서Dev

Windows Azure 중지 된 VM 데이터 지속성

분류에서Dev

Windows Azure Blob 및 HDInsight에 데이터 삽입?

분류에서Dev

Windows 페이징 파일을 조각 모음하는 방법

분류에서Dev

Windows 10 오류 (비 페이징 영역의 페이지 오류) 실패 : volsnap

분류에서Dev

App Engine 데이터 저장소 페이징-이전 페이지

분류에서Dev

리피터로 페이징

분류에서Dev

Windows Azure 데이터베이스를 사용하여 레코드 업데이트 (Windows Phone)

분류에서Dev

Windows Azure : Symfony2와 함께 작동하는 MySQL 데이터베이스

분류에서Dev

Windows Azure Service Mobile은 테이블에서 모든 데이터 가져 오기

분류에서Dev

Azure Mobile Services C # 백엔드를 사용한 페이징 및 정렬

분류에서Dev

Azure 데이터 흐름

분류에서Dev

Azure 청구 데이터 API

분류에서Dev

SQL에서 필터링 된 데이터 페이징

분류에서Dev

jQuery에서 데이터 테이블 페이징

분류에서Dev

데이터 테이블 표시 / 숨기기 정렬 / 페이징

분류에서Dev

OpenJPA 페이징 (setMaxResults / setFirstResult)

분류에서Dev

DbSet <>. Local로 페이징

분류에서Dev

MySQL에서 PHP 페이징

분류에서Dev

CTE 페이징 (Count 포함)

분류에서Dev

MVC 5에서 페이징

분류에서Dev

SQL Server 결과 페이징

분류에서Dev

CreateDerivedCollection으로 페이징

분류에서Dev

SSRS 쿼리 페이징

분류에서Dev

BigQuery 건너 뛰기, 데이터 그리드 페이징 수행

분류에서Dev

Gridview 페이징에 병합 셀 데이터가 분리됨

분류에서Dev

PHP 페이징 데이터 수는 각 페이지에 표시됩니다.

Related 관련 기사

뜨겁다태그

보관