Swift NSSet中的可选值

时间:2014-06-12 06:32:14

标签: swift nsset optional-values

Self.vertices是一个NSSet。我无法从可选的

中获取Vertex值

以下代码在游乐场崩溃。

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

}

2 个答案:

答案 0 :(得分:3)

可能有所帮助:

let set: NSSet = // ...

for object : AnyObject in set {
    if let vertex = object as? Vertex {
        // do the main course
    }
}

答案 1 :(得分: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
}