以下用法有什么区别?有区别吗?
class B { }
// usage 1
class A {
var b: B = B();
}
// usage 2
class A {
var b: B!
init() {
self.b = B()
}
}
编辑: 一些答案指出,在用法 2 中,该值不需要是可选的,因为它在初始化程序中获得了一个值。
最佳答案
实例化是按照赋值语句的声明顺序完成的。但是类级语句(存储的属性)在方法级语句之前完成:
// in this example, the order will be C, D, B, A
class MyClass {
init() {
b = B()
a = A()
}
var a: A
var b: B
var c: C = C()
var d: D = D()
}
关于Swift - 类级别实例化和方法级别实例化之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41252996/