1

我正在尝试让 FTASync 为我的 iPad 应用程序工作。这是给我一个构建错误的 FTASync 代码,我不知道它有什么问题。我不得不替换一个已弃用的声明:

[MagicalRecord saveInBackgroundWithBlock:^(localContext)

使用以下(第一条语句;其余的是原始 FTASync 代码)

    [localContext MR_saveToPersistentStoreWithCompletion:^(BOOL success, NSError *error){

    [self syncAll];
}

      completion:^{
          if (self.progressBlock)
              self.progressBlock(1.0, @"Complete");

          if (![NSThread isMainThread]) {
              FSALog(@"%@", @"Completion block must be called on main thread");
          }

          //Use this notification and user defaults key to update an "Last Updated" message in the UI
          [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"FTASyncLastSyncDate"];
          [[NSUserDefaults standardUserDefaults] synchronize];
          dispatch_async(dispatch_get_main_queue(), ^{
              [[NSNotificationCenter defaultCenter] postNotificationName:@"FTASyncDidSync" object:nil];
          });

          if (completion)
              completion();

          self.syncInProgress = NO;
          self.progressBlock = nil;
          self.progress = 0;

          //End background task
          if ([[UIDevice currentDevice] isMultitaskingSupported]) {
              FSCLog(@"Completed sync.");
              [[UIApplication sharedApplication] endBackgroundTask:bgTask];
              bgTask = UIBackgroundTaskInvalid;
          }
      }];

这是完成的定义:

typedef void (^FTACompletionBlock)(void);

这是我得到的构建错误,这可能是由某处的语法错误引起的,但我没有看到它:

'NSManagedObjectContext' 没有可见的@interface 声明选择器'MR_saveToPersistentStoreWithCompletion:completion:'

有人可以告诉我是什么原因造成的吗?以及如何解决?

4

0 回答 0