Как отправить NSDictionary (или plist-файл) как NSData с помощью GameKit Bluetooth? - PullRequest
0 голосов
/ 05 ноября 2010

Я пытаюсь использовать

[currentSession sendDataToAllPeers:data withDataMode:GKSendDataReliable error:nil];

для отправки NSDictionary (или plist-файла), содержащий данные с одного устройства на другое, и

- (void)receiveData:(NSData *)data fromPeer:(NSString *)peer inSession:(GKSession *)session context:(void *)context

для их получения.Как я могу конвертировать в и из NSData для этого?

1 Ответ

4 голосов
/ 05 ноября 2010

Для преобразования Plist в NSData можно использовать следующее:

+ (NSData *)dataWithPropertyList:(id)plist
                          format:(NSPropertyListFormat)format
                         options:(NSPropertyListWriteOptions)opt
                           error:(NSError **)error

И это для преобразования NSData в Plist:

+ (id)propertyListWithData:(NSData *)data
                   options:(NSPropertyListReadOptions)opt
                    format:(NSPropertyListFormat *)format
                     error:(NSError **)error

из NSPropertyListSerializationкласс

format может быть NSPropertyListBinaryFormat_v1_0 для использования наименьшего числа байтов

...