J'envoie NSString
et j'utilise UIImage
Bluetooth. J'ai décidé de stocker les deux dans un NSDictionary
, puis de convertir le dictionnaire en NSData
.
Ma question est de savoir comment convertir NSDictionary
à NSData
et inversement?
J'envoie NSString
et j'utilise UIImage
Bluetooth. J'ai décidé de stocker les deux dans un NSDictionary
, puis de convertir le dictionnaire en NSData
.
Ma question est de savoir comment convertir NSDictionary
à NSData
et inversement?
NSDictionary -> NSData:
NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:myDictionary];
NSData -> NSDictionary:
NSDictionary *myDictionary = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:myData];
NSDictionary -> NSData:
NSData -> NSDictionary
Vous pouvez le faire avec n'importe quelle classe conforme à NSCoding.
la source
la source
Utilisez NSJSONSerialization:
Les derniers retours
id
, c'est donc une bonne idée de vérifier le type d'objet retourné après le cast (ici, j'ai casté vers NSDictionary).la source
Dans Swift 2, vous pouvez le faire de cette manière:
Dans Swift 3 :
la source
Any?
type. Mais il a montré une erreur de conversion deNSDictionary
enNSData
. Alors j'ai essayé votre code. Cela n'a pas fonctionné.NSDictionary de NSData
http://www.cocoanetics.com/2009/09/nsdictionary-from-nsdata/
NSDictionary à NSData
Vous pouvez utiliser la classe NSPropertyListSerialization pour cela. Jetez un œil à sa méthode:
Renvoie un objet NSData contenant une liste de propriétés donnée dans un format spécifié.
la source
S'il vous plaît, essayez celui-la
la source
response
pasresponce
. J'ai corrigé cela pour vous.