Swift 将成员添加到节点
我想向节点添加一个成员Swift 将成员添加到节点,swift,sprite-kit,member,Swift,Sprite Kit,Member,我想向节点添加一个成员 我想这会管用的: extension SKNode { var obstacleType:String = "" } 但它没有 我想添加这样的成员: ANode.obstacleType == "Stone" 就像这样: if ANode.name == "Obstacle" && ANode.obstacleType == "Stone" { /* Do Something */ } 有简单的方法吗?
我想这会管用的:
extension SKNode {
var obstacleType:String = ""
}
但它没有我想添加这样的成员:
ANode.obstacleType == "Stone"
就像这样:
if ANode.name == "Obstacle" && ANode.obstacleType == "Stone" {
/* Do Something */
}
有简单的方法吗?不能存储属性,只能计算属性 要解决此问题,只需使用userData:
extension SKNode {
var obstacleType:String
{
get
{
return self.userData?["type"] ?? ""
}
set
{
self.userData = self.userData ?? [:]() //Guarentee it is created
self.userData!["type"] = newValue
}
}
}
不能在扩展中添加属性。您只能添加计算属性,但这些属性是get only(只读)。我认为没有其他方法可以做到这一点