如何从 Swift 中的节点提取和修改 userData?

How to extract and modify userData from node in Swift?

我已将自己的 userData 添加到一组节点,并且能够检索此信息,但不知道如何以我可以使用的方式提取它。从这行代码

println(node.userData!)

我在输出控制台得到如下形式的输出

{ 10 = 0; }

第一个数字表示整数索引值,第二个数字表示布尔值。每个节点的索引值都不同,而所有节点的布尔值都设置为 false。我需要在每个实例中将布尔值更改为 true,并且我需要提取索引值以用于进一步的条件语句,例如

 if indexValue = 1 {
some code here
}

我该怎么做?

如果要单独使用indexboolean值,最好将它们存储为两个键值对。

node.userData = ["index": 10, "boolean" : false ]

您可以使用以下代码提取索引。

if let index = node.userData?.valueForKey("index") as? Int {
    println(index)
}

要修改您可以做的值,

node.userData?.setValue(true, forKey: "boolean")
node.userData?.setValue(11, forKey: "index")