La structure est à peu près comme ceci. La classe A contient un tableau de classe B et la classe B contient une variable de type énumération C.
A est initialisé comme indiqué sur la figure lors de l'initialisation de 10 éléments B, sauf que le tableau B dans. la classe A n'a pas été modifiée. Cependant, lors de l'encodage de s dans B, (l'énumération C est Status), la valeur de s peut être bien imprimée, mais lors de l'encodage de (s), une erreur a ensuite été signalée (j'ai mis des points d'arrêt sur les deux. imprimer et encoder des phrases, et cette dernière s'est écrasée dès que je l'ai quitté)
func encode(with aCoder: NSCoder) { print(status) aCoder.encode(status, forKey: "status") }
Voici quelques informations sur la console :
Normal
*Arrêt de l'application en raison d'une exception non interceptée 'NSInvalidArgumentException', raison : '-[_SwiftValue encodeWithCoder:] : sélecteur non reconnu envoyé à l'instance 0x608000444fb0'
.
La raison a été trouvée. La raison est que la compilation directe des types d'énumération entraînera divers problèmes. Curve enregistre et lit la valeur de l'énumération.
.