PullWithQuery不从远程服务器

时间:2015-08-10 13:13:37

标签: ios iphone azure

我使用Azure移动服务作为我的应用后端。我正在尝试同步Azure演示“TodoItem”中提到的数据。所有工作正常但只有数据不会从远程服务器中提取。

我正在使用自定义API(invokeAPI方法。)

这是我的代码:

[self syncData: ^
{
    // Let the caller know that we finished
    if (completion != nil) {
        dispatch_async(dispatch_get_main_queue(), completion);
    }
}];

-(void)syncData:(QSCompletionBlock)completion
{
    // push all changes in the sync context, then pull new data

    [self.client.syncContext pushWithCompletion:^(NSError *error) {
        [self logErrorIfNotNil:error];
        [self pullData:completion];
    }];
}

-(void)pullData:(QSCompletionBlock)completion
{


    // Pulls data from the remote server into the local table.
    // We're pulling all items and filtering in the view
    // query ID is used for incremental sync

    NSPredicate * predicate = [NSPredicate predicateWithFormat:@"complete == NO"];
    MSQuery *query = [self.syncTable queryWithPredicate:predicate];

    [self.syncTable pullWithQuery:query queryId:nil completion:^(NSError *error) {
        [self logErrorIfNotNil:error];

        // Let the caller know that we have finished
        if (completion != nil) {
            dispatch_async(dispatch_get_main_queue(), completion);
        }
    }];
}

此处没有任何内容从服务器保存到本地数据库。

1 个答案:

答案 0 :(得分:0)

不要将queryId传递为nil。

将一些字符串传递给它,如下所示。

[self.syncTable pullWithQuery:query queryId:@" allitems"完成:^(NSError * error){ }