NSData en clase personalizada?

Estoy a punto de analizar la interacción de Bluetooth en el iPhone. Ahora, leí que el único objeto que se puede transferir es un objeto NSData. Ahora, quiero transferir mis objetos de "personaje". La clase se parece a esto:

@interface Character : NSObject <NSCoding>
{
   UIImage *characterImage;
   int health;
   NSString *name;
}

-(void) initWithStats;
-(void) addToViewController: (UIViewController *)theView;

-(void) encodeWithCoder:(NSCoder *)encoder;
-(void) initWithCoder:(NSCoder *)decoder;

@end

Ahora, sé que tengo que cumplir con el protocolo NSCoding e implementar esos 2 métodos, sin embargo, no estoy muy seguro de qué hacer aquí. Sé que de alguna manera necesito poder crear instancias de esta clase y luego "descomprimirlas / descomprimirlas" cuando el otro dispositivo recibe el objeto NSData.

Entonces, cualquier consejo aquí es muy apreciado: =) Soy muy nuevo en la programación de bluetooth y nunca he trabajado con eso o con NSData antes. Así que gracias de antemano

/ JBJ

Respuestas a la pregunta(2)

Su respuesta a la pregunta