0

Self.vertices 是一个 NSSet。我无法从可选选项中获取顶点值

下面的代码在游乐场崩溃。

func getVertex (x: Double, y: Double,z: Double) -> Vertex?
{

    for v : Vertex! in self.vertices {

        if v.isEqualTo(x, y: y, z: z) {
            return v
        }
    }
    return nil

}
4

2 回答 2

3

这可能会有所帮助:

let set: NSSet = // ...

for object : AnyObject in set {
    if let vertex = object as? Vertex {
        // do the main course
    }
}
于 2014-06-12T08:09:21.143 回答
0

我相信 self.vertices 包含 AnyObject。所以你应该使用以下代码

func getVertex (x: Double, y: Double,z: Double) -> Vertex?
{
    for v : AnyObject in self.vertices {
       if v is Vertex {
           if v.isEqualTo(x, y: y, z: z) {
              return v
           }
       }
    }
    return nil
}
于 2014-06-12T08:04:07.730 回答