首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift -目标C-“控制器”不符合JBBarChartViewDelegate协议

Swift -目标C-“控制器”不符合JBBarChartViewDelegate协议
EN

Stack Overflow用户
提问于 2014-09-29 20:58:00
回答 2查看 513关注 0票数 2

我正在尝试在我的ViewController中的一个Swift应用程序中使用JawBone/JBChartView图表:

代码语言:javascript
复制
class ViewController: UIViewController , JBBarChartViewDelegate {
...
}

我已经实现了符合协议的方法:

代码语言:javascript
复制
override func heightForBarViewAtIndex (bc: JBBarChartView , index: Int) -> Double{
    //return 1;
}

JBarChartViewDelegate是一个ObjectiveC类,所以要实现的最初方法是:

代码语言:javascript
复制
- (CGFloat)barChartView:(JBBarChartView *)barChartView heightForBarViewAtIndex:(NSUInteger)index;

我无法编译我得到的"ViewController不符合协议JBBarChartViewDelegate“的代码

我做错什么了?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-30 20:08:26

最后,问题是Int参数,它必须是Uint。因此,实现的最后方法是:

代码语言:javascript
复制
func barChartView(barChartView: JBBarChartView!, heightForBarViewAtIndex index: UInt) -> CGFloat{
    return 0.0
}

这对你们所有人都有好处。

票数 2
EN

Stack Overflow用户

发布于 2014-09-29 21:04:40

看起来你的问题可能是你使用了错误的类型。当声明指定一个Double时,返回值似乎是在重写函数中返回一个CGFloat。此外,我认为函数应该从声明的方法开始使用相同的单词。你写heightForBarViewAtIndex(的时候,我相信它会翻译成下面的样子。

试试这个:

代码语言:javascript
复制
override func barChartView(barChartView: JBBarChartView, heightForBarViewAtIndex index: UInt) -> CGFloat { 
    return 0.0 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26108790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档