Tout d'abord, vous devez comprendre que les deux points d'exclamation comme ! et NSArray représentent des concepts différents. as! représente une conversion forcée, et NSArray! signifie que cet objet doit avoir une valeur et n'est pas vide.
Bundle.main.loadNibNamed(nibName,owner:owner, options:options) Le type de retour est , [Any]?
Il s'agit du type d'option du tableau, indiquant que cette valeur peut être vide. C'est nul.
Donc, comme ! Array signifie forcer la conversion de Array ? en Array, donc une alarme sera signalée car le compilateur pense qu'une valeur nulle peut apparaître et qu'une erreur se produira. Autrement dit, le compilateur estime que cette conversion de type provoquera une erreur.
Utiliser as Array! équivaut à dire au compilateur que la valeur renvoyée ci-dessus ne doit pas être vide, et cette conversion de type ne posera certainement pas de problèmes. Nous avons forcé le déballage des plumes en utilisant !, et la fonction de comme ici est une fonction de conversion de type.
Tout d'abord, vous devez comprendre que les deux points d'exclamation comme ! et NSArray représentent des concepts différents. as! représente une conversion forcée, et NSArray! signifie que cet objet doit avoir une valeur et n'est pas vide.
Bundle.main.loadNibNamed(nibName,owner:owner, options:options) Le type de retour est , [Any]?
Il s'agit du type d'option du tableau, indiquant que cette valeur peut être vide. C'est nul.
Donc, comme ! Array signifie forcer la conversion de Array ? en Array, donc une alarme sera signalée car le compilateur pense qu'une valeur nulle peut apparaître et qu'une erreur se produira. Autrement dit, le compilateur estime que cette conversion de type provoquera une erreur.
Utiliser as Array! équivaut à dire au compilateur que la valeur renvoyée ci-dessus ne doit pas être vide, et cette conversion de type ne posera certainement pas de problèmes. Nous avons forcé le déballage des plumes en utilisant !, et la fonction de comme ici est une fonction de conversion de type.