Cuándo usar NSSecureCoding

Estoy aprendiendo sobre elNSSecureCoding Protocolo introducido por Apple en iOS 6.

Desde mi entendimiento hasta ahora, debería usarse siempre que una clase codifique / decodifique instancias de sí misma, para evitar ataques de sustitución.

Me pregunto si sería apropiado usarlo en otros casos.

Específicamente si una clase se ajusta aNSCoding Al codificar / decodificar sus variables de instancia, en oposición a la instancia completa de sí misma, ¿sería recomendable implementarNSSecureCoding?

EDITAR

Supongamos que tengo una clase que está implementandoNSCoding como sigue

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

- (id)initWithCoder:(NSCoder *)decoder {
    if((self = [super init])) {
        self.aString = [decoder decodeObjectForKey:@"aMeaningfulString"];
    }
    return self;
}

y supongamos también que no hay XPC involucrado. Las instancias de esta clase se archivarán en una lista almacenada en el disco.

En cuanto a la seguridad, ¿hay algún beneficio en el uso-decodeObjectOfClass:forKey: Opuesto a-decodeObjectForKey:?

Respuestas a la pregunta(3)

Su respuesta a la pregunta