无法覆盖已在BEMSimpleLineGraph中标记为不可用的method_name

时间:2017-04-05 05:08:21

标签: swift3 datasource bemsimplelinegraph

我一直在使用BEMSimpleLineGraph 对于我最初为swift 2.3构建的项目,现在我将它迁移到swift 3所以在将库更新到4.1之后,它给了我以下错误,它不能覆盖这些方法,因为它们不可用但是删除它所说的方法后

  

'的ViewController'不符合协议' BEMSimpleLineGraphDataSource'

enter image description here

2 个答案:

答案 0 :(得分:6)

我使用相同的库遇到了同样的问题。问题似乎是由于OBJ-C和Swift之间的桥梁误认为您尝试定位的那个已弃用的函数。我通过评论代码来解决它:

1) BEMSimpleLineGraph.h:注释掉所有已删除的函数声明,它是

之后的大约80行代码
//----- DEPRECATED -----//

2) BEMSimpleLineGraph.m:每次出现此行时都会注释掉:

#pragma clang diagnostic ignored

所以例如我删除了7对看起来类似的行:

#pragma clang diagnostic ignored "-Wdeprecated-declarations"
                dotValue = [self.delegate valueForIndex:i];

答案 1 :(得分:1)

我通过为BEMSimpleLineGraphDelegateBEMSimpleLineGraphDataSource使用单独的类解决了这个问题。