gpt4 book ai didi

Swift:候选人的类型不匹配

转载 作者:行者123 更新时间:2023-11-28 09:18:24 25 4
gpt4 key购买 nike

我尝试在我的 swift 实现中使用以下委托(delegate)(见下文),但失败了“不符合协议(protocol)......”和错误消息,如“候选人具有不匹配的类型(PieChartView) -> Int”有什么想法吗?

@protocol PieChartViewDataSource <NSObject>

@required
- (int)numberOfSlicesInPieChartView:(PieChartView *)pieChartView;
- (double)pieChartView:(PieChartView *)pieChartView valueForSliceAtIndex:(NSUInteger)index;
- (UIColor *)pieChartView:(PieChartView *)pieChartView colorForSliceAtIndex:(NSUInteger)index;

失败的 Swift 实现

func numberOfSlicesInPieChartView(pieChartView: PieChartView) -> Int {
return 3
}

func pieChartView(pieChartView: PieChartView, colorForSliceAtIndex index: Int) -> UIColor? {
return UIColor(rgba: "#FF0000")
}

func pieChartView(pieChartView: PieChartView, valueForSliceAtIndex index: Int) -> Double {
return 100/3;
}

最佳答案

func numberOfSlicesInPieChartView(pieChartView: PieChartView) -> CInt {
return 32
}
func pieChartView(pieChartView: PieChartView, colorForSliceAtIndex index: UInt) -> UIColor {
return UIColor(red: 1.0, green: 0, blue: 0, alpha: 1)
}

func pieChartView(pieChartView: PieChartView, valueForSliceAtIndex index: UInt) -> Double {
return 100/3;
}

使用 -> CInt 而不是 Int 因为 Swift Int 无法转换为 C int。与 Double 相同 -> CDouble

使用 index: UInt 而不是 index: Int,因为 NSUIntegerunsigned

关于Swift:候选人的类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26419930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com