我目前正在实施我的多人游戏的网络端。到目前为止,我通过将我的对象序列化为 NSData 来发送类。问题在于我的类中有引用相同类型的其他对象的链接列表。如果我使用 initWithCoder: (NSCoder *) 解码器传输所有对象并在接收端解码,那么类中的对象是否仍然持有正确的引用?如果没有,有人可以推荐一个干净的解决方案来解决这个问题吗?
问问题
63 次
1 回答
2
NSCoder 应该可以正常工作。编码时,对列表的头部进行编码,并使用列表结构本身来指导其余部分。假设列表有一个字符串作为它的数据和一个简单的前向链接。只需对头部进行编码...
// in ListNode.m
- (void)encodeWithCoder:(NSCoder*)encoder {
[encoder encodeObject:self.theString forKey:@"thisIsMyListsData"];
if (self.nextNode) {
[encoder encodeObject:self.nextNode forKey:@"nextNode"];
}
}
于 2012-05-02T02:08:01.350 回答