Comment puis-je convertir des NSDictionary de Dictionnaire?
J'ai déjà mis à jour de XCode 8 et maintenant, j'ai besoin de convertir mon code Swift 2 à Swift 3.
Avant, quand je veux convertir NSDictionary
à Dictionary
, j'ai juste écrit ce qui suit:
let post_paramsValue = post_params as? Dictionary<String,AnyObject?>
où post_params
est NSDictionary
.
Mais maintenant avec Swift 3, je reçois cette erreur:
NSDictionary is not convertible to Dictionary
Pourquoi? Ce qui a changé?
Edit 1
J'ai aussi essayé le suivant:
let post_paramsValue = post_params as Dictionary<String,Any>
Mais qui donne cette erreur:
Edit 2
J'ai aussi essayé le suivant:
let post_paramsValue = post_params as Dictionary<String,Any>
Où je déclare NSDictionary
au lieu de NSDictionary!
, mais il ne fonctionne pas; j'ai eu cette erreur:
Modifier 3
J'ai aussi essayé le suivant:
let post_paramsValue = post_params as Dictionary<String,Any>!
Mais j'ai reçu ce message d'erreur:
essayé cela ? stackoverflow.com/questions/31765875/...
merci pour votre commentaire, mais pourquoi j'ai besoin de passer par un dictionnaire à l'aide de la boucle , ce n'est pas commode , pourquoi apple a besoin de rendre les choses plus difficiles ?
Eh bien, je ne sais pas pourquoi, avez-vous essayé ? elle fonctionne ou pas ?
je n'ai pas essayer ,je suis sûr que cela va fonctionner, mais ce n'est pas commode . j'ai besoin de le faire de la meilleure façon. merci
merci pour votre commentaire, mais pourquoi j'ai besoin de passer par un dictionnaire à l'aide de la boucle , ce n'est pas commode , pourquoi apple a besoin de rendre les choses plus difficiles ?
Eh bien, je ne sais pas pourquoi, avez-vous essayé ? elle fonctionne ou pas ?
je n'ai pas essayer ,je suis sûr que cela va fonctionner, mais ce n'est pas commode . j'ai besoin de le faire de la meilleure façon. merci
OriginalL'auteur david | 2016-11-01
Vous devez vous connecter pour publier un commentaire.
NSDictionary
en Objective-C a toujours des non-valeurs optionnelles.AnyObject
est devenuAny
dans Swift 3.NSDictionary
peut être pont coulé àDictionary
Si la source
NSDictionary
est une option que vous pourriez utiliseras Dictionary<String,Any>?
ouas? Dictionary<String,Any>
ouas! Dictionary<String,Any>
ouas Dictionary<String,Any>!
en fonction du type réel de l'NSDictionary
Ensuite, utilisez l'forcé opérateur de cast
as!
depuis la source dictionnaire est facultatif.merci encore, pourquoi je ne peux pas utiliser ceci : laissez post_paramsValue = post_params comme Dictionnaire<String,Tout>!
Vous pouvez l'utiliser, trop
Envisager de déclarer le
NSDictionary
non facultatif.OriginalL'auteur vadian
Pour ceux qui ont un problème avec
NSDictionary
, il suffit d'utiliser cette extension:Swift 3.0
OriginalL'auteur Dzeremix