【发布时间】:2017-01-22 09:28:52
【问题描述】:
我想知道 Swift 3 编程语言中是否有一个结构允许我将一些对象存储在一个数组中,但延迟初始化这个数组中的每个元素。
想象一下这个示例类:
class A {
let test = "hello"
let test2 = 2.0
}
现在我想在另一个类的数组中存储一个“A”对象数组,如下所示:
class B {
var lazy(?) array: [A] = {
// Some code to initialize the element being accessed
}()
}
如果我现在访问任何元素,如果在我访问它的时候初始化它会很酷,所以很懒
print(B.array[1].test) (element at index one is now initialized)
这可能吗?
【问题讨论】:
-
我知道的不够多,无法回答,但我相信您正在寻找的是
Generator或其他协议。给你...nshipster.com/swift-collection-protocols
标签: arrays swift lazy-initialization