【问题标题】:Build error: [NSManagedObjectContext *localContext] - why and how do I fix it?构建错误:[NSManagedObjectContext *localContext] - 为什么以及如何修复它?
【发布时间】:2013-12-12 17:26:56
【问题描述】:

将 MagicalRecord 与 FTASync 一起使用;这是我更改的一行(在 Saul Mora 的建议下)以使其线程安全。

    [[NSManagedObjectContext *localContext] MR_saveErrorHandler:^(NSError *error){  //  1.9.0
    [[NSManagedObjectContext *localContext] rollback];
    self.syncInProgress = NO;
    self.progressBlock = nil;
    self.progress = 0;

    [self handleError:error];
    return;
}];

我在第一行收到构建错误:[NSManagedObjectContext *localContext] 处的“expected Identifier”。第二行没有构建错误。我的问题是:为什么?以及如何解决?

【问题讨论】:

  • 什么是localContext?是变量吗?
  • 是...核心数据 - 所有操作的上下文...
  • 你现在应该知道如何使用变量了:[localContext rollback];
  • 你应该放在[]里面的东西是一个receiver,后跟一个message。你所拥有的看起来像一个指针声明。
  • @spokane-dude 语法没有意义。首先,NSManagedObjectContext 没有名为 localContext 的方法。 2、方法调用中间的星号是什么意思?

标签: objective-c magicalrecord


【解决方案1】:

变化:

[[NSManagedObjectContext *localContext] MR_saveErrorHandler:^(NSError *error){  //  1.9.0
[[NSManagedObjectContext *localContext] rollback];

[localContext MR_saveErrorHandler:^(NSError *error){  //  1.9.0
[localContext rollback];

【讨论】:

  • 不会构建...出现错误:“NSManagedObjectContext”没有可见的@interface 声明选择器“MR_saveErrorHandler:
  • 确保 #import "MagicalRecord+CoreData.h" 位于该文件的标题中。你没有找到符号,仅此而已。
  • 呃...我想你的意思是“CoreData+MagicalRecord.h”,是吗? (因为另一个不存在)......它仍然不会建立。我对 MR_saveErrorHandler 进行了搜索(XCode 5),但它不存在。我有正确的版本吗? (我怎么知道我有哪个版本?)
  • 使用 NSManagedObjectContext+MagicalRecord 标头或自动完成来帮助您。但是,我认为该方法已在最新版本中删除。尝试其他 MR_save* 方法之一...
猜你喜欢
  • 2022-01-09
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
  • 2018-07-12
  • 2012-08-16
  • 2022-11-20
相关资源
最近更新 更多