1 回のターンに必要なすべての関連情報を格納するクラスを実装し、そのクラスに NSCoding を実装させます。これは、一方のプレーヤーのデバイスでオブジェクトを NSData に変換してから、反対側でオブジェクトに戻すことができることを意味します。
このウェブサイトhttp://samsoff.es/posts/archiving-objective-c-objects-with-nscodingには、簡単な例があり、必要な主な方法の例を次に示します。
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
self.health = [decoder decodeObjectForKey:@"health"];
self.attack = [decoder decodeObjectForKey:@"attack"];
isDead = [decoder decodeBoolForKey:@"isDead"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:self.health forKey:@"health"];
[encoder encodeObject:self.attack forKey:@"attack"];
[encoder encodeBool:isDead forKey:@"isDead"];
}
オブジェクトを NSData にエンコードします。
NSData *data = [NSKeyedArchiver archivedDataWithRootObject: object];
オブジェクトに戻す:
id *object = [NSKeyedUnarchiver unarchiveObjectWithData: inputData];
Archives and Serializations Programming Guideも優れた出発点です。
もう 1 つのオプションは、RestKit のようなライブラリを使用することです。これは、JSON または XML との間のオブジェクト マッピングです。