在Apple发布的Swift PDF文件中,我发现了这段代码
要创建空数组或字典,请使用初始化程序语法。
let emptyArray = [String]()
let emptyDictionary = [String: Float]()
这里有什么用于创建一个带有空数组的let(常量)对象,我们不能在下一行中插入任何值?!!
答案 0 :(得分:2)
在教学目标时,他们开始像
那样开始教学NSArray *arrayObj = [[NSArray alloc] init]
如果我们这样声明,我们就无法在初始化后添加对象 同样,他们教我们如何初始化数组或字典对象
另一个区别是,如果我们分配一个空数组,那么我们可以用这个分配另一个数组。
我们也不允许你为它分配另一个数组
let emptyArray = [String]()
let/var filledArray = ["stack", "overflow"]
emptyArray = filledArray // will give you an error
答案 1 :(得分:0)
使用不多,但可以复制该值:
let emptyDictionary = [String: Float]()
var otherDictionary = emptyDictionary
otherDictionary["a"] = 0.5
答案 2 :(得分:0)
属性声明将它们设置为默认值,但您实际上可以将值更改为init中的其他值。这只是类属性的情况,而不是内联属性。
以下是类范围中的示例,其中let属性可以具有默认值但可以更改:
class Whatever {
let testArray = [Int]()
init() {
testArray = [0,1,2]
}
}