您是否必须桥接到Objective C以便在swift中浮动?

时间:2014-06-13 00:02:04

标签: cocoa-touch swift

是否真的有必要与目标c联系,就像我正在为下面的双打做的那样?似乎没有在操场上的这一步工作,但不能在常规的swift文件中编译。

有更清洁的方式吗?

   var prevX = 0.0
    var prevY = 0.0
    var count = 0

    for item : AnyObject in myGraph.vertices {
        count++
        if let v = item as? Vertex {

            x = Double(x)
            y = Double(y)

            x = x - width / 2.0
            y = y - width / 2.0
            //var fwidth = Float(width)

            var rect = CGRect()
            rect.origin.x = x.bridgeToObjectiveC().floatValue
            rect.origin.y = y.bridgeToObjectiveC().floatValue
            rect.size.width = width.bridgeToObjectiveC().floatValue
            rect.size.height = rect.size.width

1 个答案:

答案 0 :(得分:2)

不,您可以使用float构造函数来执行此操作

rect.origin.x = Float(x)
rect.origin.y = Float(y)
rect.size.width = Float(width)
rect.size.height = rect.size.width

N.B。我已经向Apple公开了一个关于此的错误报告。至少,行为应该匹配。