This is a known bug, see SR-1635. Since an IUO is no longer a distinct type, it shouldn't really be possible to have an array of them in the first place.
This is confirmed by the fact that the following code fails to compile:
// compiler error: Implicitly unwrapped optionals are only allowed at top level.
// and as function results
var array: [Ink!] = []
(note I renamed your class name to Ink
to conform to Swift naming conventions)
Depending on your situation, you may want to consider using a lazy
property instead:
lazy var array : [Ink] = {
var array = [Ink]()
// populate array
return array
}()
Or making the array itself an implicitly unwrapped optional (and defer both the allocation and initialisation of the array):
var array : [Ink]!
Although note that IUOs should always be a last resort due to their inherent unsafety.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…