2016-05-13 6 views
0

У меня есть словарь, который записывается в файл после архивирования его [NSKeyedArchiver archivedDataWithRootObject:dictionary]. Я извлекаю содержимое файла и передаю архивированные данные на одноранговые устройства через multipeer. Затем, в моем одноранговом устройстве, я собираю данные с помощью [NSKeyedUnarchiver unarchiveObjectWithData:data]. Но он возвращает нуль при его распаковке, хотя в нем присутствуют данные.Альтернатива для NSKeyedArchiver/NSKeyedUnarchiver iOS

Я подозреваю, что содержимое огромно в файле. Есть ли альтернатива для NSkeyedArchiver/NSKeyedUnarchiver?

Код: Архивирование:

[[NSKeyedArchiver archivedDataWithRootObject:dictionary] writeToFile:fileAtPath options:NSDataWritingAtomic error:&error]; 

Передача:

[NSData dataWithContentsOfFile:fileAtPath] ; 

разархивирование:

[NSKeyedUnarchiver unarchiveObjectWithData:data]; 
+0

как вы архивируете и разобщаете? напишите свой код – Lion

ответ

0

Try для записи данных, как показано ниже,

[data writeToFile:filePath atomically:NO]; 

data означает [NSKeyedArchiver archivedDataWithRootObject:dictionary] Ваши данные в архиве.

В противном случае архивированный и незакрепленный метод в порядке.

Надеюсь, что это поможет :)

+0

dint work..same issue, dictionary is nil while unarchiving или я получаю исключение «непонятный архив», – Jeyanthu