Cómo codificar un UIImage en un `NSCoder`

Tengo un objeto 'Usuario' que contiene una propiedad de la clase 'UIImage'.

¿Cómo codifico la imagen junto con las otras propiedades y la guardo enNSUserDefaults?

Mi comprensión es que solo puedo codificarNSStrings?

Por ejemplo, actualmente en mi código, estoy agregando elavatar_url (cadena) en la implementación de codificación / decodificación. ¿Cómo puedo convertir la URL aUIImage y luego codificarlo @

- (void)encodeWithCoder:(NSCoder *)encoder
{
    [encoder encodeObject:self.uid forKey:@"uid"];
    [encoder encodeObject:self.avatar_url forKey:@"avatar_url"];
}

- (id)initWithCoder:(NSCoder *)decoder
{
    self = [super init];
    if( self != nil ){
         self.uid = [decoder decodeObjectForKey:@"uid"];
         self.avatar_url = [decoder decodeObjectForKey:@"avatar_url"];
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta