Я отправляю NSString
и UIImage
использую Bluetooth. Я решил сохранить оба в NSDictionary
и затем преобразовать словарь в NSData
.
Мой вопрос, как конвертировать NSDictionary
в NSData
и наоборот?
Я отправляю NSString
и UIImage
использую Bluetooth. Я решил сохранить оба в NSDictionary
и затем преобразовать словарь в NSData
.
Мой вопрос, как конвертировать NSDictionary
в NSData
и наоборот?
NSDictionary -> NSData:
NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:myDictionary];
NSData -> NSDictionary:
NSDictionary *myDictionary = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:myData];
NSDictionary -> NSData:
NSData -> NSDictionary
Вы можете сделать это с любым классом, который соответствует NSCoding.
источник
источник
Используйте NSJSONSerialization:
Последние возвращаются
id
, так что это хорошая идея, чтобы проверить тип возвращаемого объекта после того, как вы приведете (здесь я приведен к NSDictionary).источник
В Swift 2 вы можете сделать это следующим образом:
В Swift 3 :
источник
Any?
тип. Но он показал ошибку при конвертации изNSDictionary
вNSData
. Итак, я попробовал твой код. Это не работает.NSDictionary от NSData
http://www.cocoanetics.com/2009/09/nsdictionary-from-nsdata/
NSDictionary к NSData
Для этого вы можете использовать класс NSPropertyListSerialization. Посмотрите на его метод:
Возвращает объект NSData, содержащий заданный список свойств в указанном формате.
источник
Примерьте вот это
источник
response
не такresponce
. Я исправил это для вас.