如何将核心数据填充到 Azure 移动服务的本地表中



我在所有ViewController中都有一个MSSyncTable* table实例变量。目前,我直接从服务器获取数据并使用pullWithQuery函数填充此table

- (void)syncTableData:(ESCompletionBlock)completion
{
    MSQuery *query = [self.table query];
    // Pulls data from the remote server into the local table.
    // We're pulling all items 
    [self.table pullWithQuery:query queryId:@"EventTable" completion:^(NSError *error) {
        [self logErrorIfNotNil:error];
        // Let the caller know that we finished
        dispatch_async(dispatch_get_main_queue(),completion );
}];

我想改变这种方法,并用从我的core data获取的数据填充table。我已经用我需要在屏幕上显示的数据填充了核心数据。

如何使table从核心数据获取数据?

pullWithQuery 调用的重点是从远程 Azure 应用服务中提取数据,以存储在核心数据中。 执行此操作后,标准表调用将改用核心数据。

有关离线同步的教程,请参阅以下内容:https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-ios-get-started-offline-data

当你打电话时

-(void)readWithPredicate:(NSPredicate *)predicate completion:(MSReadQueryBlock)completion

-(void)readWithId:(NSString *)itemId completion:(MSItemBlock)completion

-(void)readWithCompletion:(MSReadQueryBlock)completion

MSSyncTable* table,这将查询同步表的本地核心数据副本,并在完成块中返回结果。您可能还需要为本地核心数据存储创建自己的 NSManagedObjectContext,以便将项目作为 NSManagedObjects 获取,但请确保通过 MSSyncTable 对对象进行任何更改。

最新更新