Quando usar o NSSecureCoding

Estou aprendendo sobre oNSSecureCoding protocolo introduzido pela Apple no iOS 6.

Pelo que entendi, ele deve ser usado sempre que uma classe codifica / decodifica instâncias dele mesmo, para evitar ataques de substituição.

Eu estou querendo saber se seria apropriado usá-lo em outros casos.

Especificamente, se uma classe está de acordo comNSCoding codificando / decodificando suas variáveis ​​de instância, ao contrário de toda a instância de si mesmo, ainda seria aconselhável implementarNSSecureCoding?

EDITAR

Suponha que eu tenha uma classe que esteja implementandoNSCoding como segue

- (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;
}

e suponha também que nenhum XPC está envolvido. Instâncias dessa classe serão arquivadas em uma plist armazenada no disco.

Segurança-sábio, há algum benefício em usar-decodeObjectOfClass:forKey: ao contrário de-decodeObjectForKey:?

questionAnswers(3)

yourAnswerToTheQuestion