我想将此Objective-C代码转换为Swift。
pieView.layer.transformTitleBlock = ^(PieElement* elem, float percent){
return [(MyPieElement*)elem title];
};
我在Swift中编写了这段代码:
pieView.layer.transformTitleBlock = {(elem:PieElement!,percent:Float) -> String in
//your stuff
return MyPieElement(elem.title);
}
但它并不适合我;请帮忙。
感谢。
答案 0 :(得分:1)
你误解了演员。
[(MyPieElement*)elem title];
在Objective-C中相当于:
(elem as MyPieElement).title
在斯威夫特。
答案 1 :(得分:0)
您应该返回字符串值而不是MyPieElement对象。 试试它对我有用:
pieView.layer.transformTitleBlock = {
elem, percent in
return elem.title
}
答案 2 :(得分:0)
关闭的返回值是String
,但您返回MyPieElement
的实例。我怀疑这就是你想要做的事情:
pieView.layer.transformTitleBlock = {(elem: PieElement!, percent:Float) -> String in
return elem.title
}