0

可能重复:
通过 Game Center 发送 NSString

我已经为此工作了两天,但没有得到任何结果,我希望有人能对这个问题有所了解。

1)我有一个 NSMUtableArray 2)数组中的每个元素都通过 [encoder encodeObject: myArray] 序列化;并将结果返回并分配给名为“cards”的结构“MessageMove”(NSData * 类型)MessageMove 消息;

……

typedef struct
{
    Message message;
    NSData  *cards;
} MessageMove;

3)现在卡片已经转换为类型 NSData 我现在想对结构本身做同样的事情,我打电话

NSData *data = [NSData dataWithBytes:&message length:sizeof(message)];

4)最后我将数据发送给其他玩家如下

BOOL success = [[GCHelper sharedInstance].match sendDataToAllPlayers:data withDataMode:GKMatchSendDataReliable error:&error];

问题在于接收端根本没有得到任何卡片数据(MessageMove->cards)。这可能是因为 NSData * 没有被远程发送,而只是指向它的指针。

有谁知道我如何发送实际数据?我整天都在为这个问题挠头,不知道如何克服它

非常感谢

4

1 回答 1

0

MessageMove创建一个符合NSCoding协议的 Objective-C 类。然后将其序列化为一个NSData对象,并在另一端反序列化它。有关详细信息,请参阅我之前的回答

于 2012-05-03T18:16:29.897 回答