嘿,我想弄清楚如何将变量设置为空类的类型。如果这不是一个错误,就像这样:
代码:
var PlayerEquipped = class() // failed attempt at trying set up a blank variable that can take the type of a class
或制作一个我将来可以改变的变量。所以基本上我可以创建一个这样的全局变量,并为其分配一个没有问题的类。
代码:
var PlayerEquipped = House()
//In another .swift file i have the 2 classes
class House {
init() {
}
}
class House2 {
init() {
}
}
但即使它的设置与" var"当我试图改变那个" SelectClass"变量到不同的类。例如,如果我要创建一个带有文本的字符串变量" Hello"在我的视图中,然后在负载决定将变量文本更改为" GoddBye"它会让我这样做。但是,如果我试图改变" SelectedClass"变量到不同的类我得到这个错误。它说'不能指定saintsRB类型的值来键入saintsLB' 代码:
var PlayerEquipped = House()
//down in view didload:
PlayerEquipped = House2() // Error here
答案 0 :(得分:8)
尝试使用
var PlayerEquipped: AnyObject
或其可选等效项
var PlayerEquipped: AnyObject?
答案 1 :(得分:3)
根据您想要达到的目标,您有几个选择:
制定协议(例如%PATH%
)。让你所有的房子都实现它。将您的变量声明为可构造(例如bash -i --login
- 注意Buildable
,因此您不必初始化它,它可能是零) - 通常我会这样做,试图避免继承
上课(例如var house:Buildable?
)。让您所有的房屋(?
,House
等)继承House1
格式。将您的变量声明为House(例如House2
)
声明为House
或var house:House?
可能有效,但它会严重限制您,并且在这种情况下可能不是您想要做的事情。
作为建议,在继续前进和编写代码之前,请尝试掌握这些基本原则。