Kiedy używać NSSecureCoding

Uczę się oNSSecureCoding protokół wprowadzony przez Apple w iOS 6.

Z mojego dotychczasowego rozumienia powinno się korzystać, gdy klasa koduje / dekoduje własne wystąpienia, aby zapobiec atakom zastępczym.

Zastanawiam się, czy właściwe byłoby użycie go w innych przypadkach.

W szczególności, jeśli klasa się zgadzaNSCoding Kodowanie / dekodowanie zmiennych instancji, w przeciwieństwie do całej instancji samej w sobie, nadal byłoby wskazaneNSSecureCoding?

EDYTOWAĆ

Załóżmy, że mam klasę, która implementujeNSCoding jak następuje

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

Przypuśćmy również, że nie dotyczy to żadnego XPC. Instancje tej klasy będą archiwizowane w plist przechowywanej na dysku.

Z punktu widzenia bezpieczeństwa, czy jest jakaś korzyść z używania-decodeObjectOfClass:forKey: w przeciwieństwie do-decodeObjectForKey:?

questionAnswers(3)

yourAnswerToTheQuestion