如何从 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
}
我该怎么做?
如果要单独使用index
和boolean
值,最好将它们存储为两个键值对。
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")
我已将自己的 userData 添加到一组节点,并且能够检索此信息,但不知道如何以我可以使用的方式提取它。从这行代码
println(node.userData!)
我在输出控制台得到如下形式的输出
{ 10 = 0; }
第一个数字表示整数索引值,第二个数字表示布尔值。每个节点的索引值都不同,而所有节点的布尔值都设置为 false。我需要在每个实例中将布尔值更改为 true,并且我需要提取索引值以用于进一步的条件语句,例如
if indexValue = 1 {
some code here
}
我该怎么做?
如果要单独使用index
和boolean
值,最好将它们存储为两个键值对。
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")