奇怪的编译器错误

时间:2015-09-12 13:05:16

标签: objective-c

我正在研究一个项目并且'突然'编译器在这段代码上给出了错误:

__weak typeof(self) selfRef = self;
[self.beaconConnection checkFirmwareUpdateWithCompletion:^(ESTFirmwareInfoVO *result, NSError *error) {
    if(error != nil){
        NSLog(@"Could not get firmware info: %@", error.localizedDescription);
    } else {
        if(result.isUpdateAvailable){
            [[selfRef updateFirmwareBttn] setEnabled:true];
            [[selfRef updateFirmwareBttn] setTitle:result.firmwareVersion forState:UIControlStateNormal];
        } else {
            [[selfRef updateFirmwareBttn] setEnabled:false];
        }
    }
}];

问题是第二行,错误是:

  

DOBeaconViewController.m:123:64:预期')'

它还给出了:

  

DOBeaconViewController.m:123:62:缺少类型说明符,默认为'int'

  

DOBeaconViewController.m:123:62:不兼容的块指针类型将'int((^)(void))'发送到'ESTObjectCompletionBlock'类型的参数(又名'void(^)(__ strong id,NSError * __ strong)' )

之后有一组错误,但那是因为声明中的错误。

所以支架就在那里......几个月来我没有对代码的这一部分做出改变。

我尝试清理项目,重建它,但它一直给出这个错误,我不明白为什么。我今天早些时候做了一个成功构建的视图,但后来尝试使用位代码进行编译(但由于我的一个框架还没有包含位代码,所以必须再次关闭它)。从那以后我收到了这个错误。

我可以尝试解决这个问题?我只是不明白问题是什么。

1 个答案:

答案 0 :(得分:0)

问题证明是由于某种原因,没有加载定义ESTFirmwareInfoVO(它是框架的一部分)的头文件。

具体添加

searchBar

解决了它。