Swift 2, j'ai pu initialiser un struct NSZone
vide comme ceci:INIT une struct NSZone vide avec Swift 3
let z = NSZone() // ObjectiveC.NSZone
J'ai utilisé ce à bouchonner appels de test requis NSZone
. Avec Swift 3, l'interface a été modifiée de sorte que le initialiseur est plus disponible:
Swift 2.3:
public struct NSZone : NilLiteralConvertible {
public init()
/// Create an instance initialized with `nil`.
public init(nilLiteral:())
}
Swift 3:
public struct NSZone {
}
est Apple pousse à utiliser un NSZone
en option à la place de l'ancien initialiseur NSZone()
qui a initialisé NSZone
avec une valeur nil
?
Essayez d'étendre NSZone
ajouter un résultat initialiseur une erreur:
extension NSZone {
init() { } // Return from initializer without initializing all stored properties
}