我一直在使用BEMSimpleLineGraph 对于我最初为swift 2.3构建的项目,现在我将它迁移到swift 3所以在将库更新到4.1之后,它给了我以下错误,它不能覆盖这些方法,因为它们不可用但是删除它所说的方法后
'的ViewController'不符合协议' BEMSimpleLineGraphDataSource'
答案 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)
我通过为BEMSimpleLineGraphDelegate
和BEMSimpleLineGraphDataSource
使用单独的类解决了这个问题。