结构移位中的Swift Double值

时间:2016-11-18 15:50:15

标签: ios swift xcode

我在XCode 8.1和Swift 3.0上编写了一个iOS应用程序,我遇到了一个非常奇怪的行为:

我已经定义了一个名为Point的结构:

struct Point {
    let latitud: Double, longitude: Double, id: Int
}

我已经定义了一个从XML文档(简化版本)返回Point数组的函数:

  func getPointsFromXML(_ document: AEXMLDocument) -> [Point] {
        var ret: [Point] = []
        do {
            if let pointsAux = document.root[pointsNode][pointNode].all {
                for pointAux in pointsAux {
                    let auxPoint = Point(latitud: <lat>, longitude: <lon>, id: <id>
                    ret.append(auxPoint)
                }
            } else {
                throw TrailError.trailPointsNotFound
            }
        } catch let error {
            print(error.localizedDescription)
        }
        return ret
    }

奇怪的部分来到这里。如果我检查auxPoint它包含正确收集的值:

enter ## Heading ##image description here

然后,如果我检查ret数组,我已经附加了auxPoint,则值会完全改变:

enter image description here

这不是数据表示问题,因为数字的二进制值也不同。

0 个答案:

没有答案