嘿我想弄清楚如何将变量设置为空类的类型。如果这不是一个错误,请像这样:
码:
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”in in side的字符串变量,那么稍后在我的视图中,load负责决定将该变量文本更改为“GoddBye”,它会让我这样做。但是,如果我尝试将“SelectedClass”变量更改为其他类,我会收到此错误。它说'不能分配saintsRB类型的值来键入saintsLB'代码:
var PlayerEquipped = House()
//down in view didload:
PlayerEquipped = House2() // Error here
尝试使用
var PlayerEquipped: AnyObject
或其可选的等价物
var PlayerEquipped: AnyObject?
根据您想要实现的目标,您有几个选择:
Buildable
)。让你所有的房子都实现它。将你的变量声明为Buildable(例如var house:Buildable?
- 注意?
,所以你不必初始化它,它可能是nil) - 这通常是我怎么做的,试图避免继承House
。将变量声明为House(例如House1
)声明为House2
或House
可能是有效的,但它会严重限制你,这可能不是你想要在这种情况下做的。
作为建议,在前进和编码之前尝试掌握这些基本原则。