【问题标题】:Do you have to bridge to ObjectiveC for float in swift?您是否必须桥接到 ObjectiveC 才能快速浮动?
【发布时间】:2014-06-13 00:02:03
【问题描述】:

真的有必要像我在下面的双打中那样桥接到目标 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

【问题讨论】:

标签: cocoa-touch swift


【解决方案1】:

不,你可以使用浮点构造函数来做到这一点

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

注意我已经向 Apple 提交了一份关于此问题的错误报告。至少,行为应该匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    相关资源
    最近更新 更多