Czytam się o kodowaniu i dekodowaniu i zauważyłem, że czasami ludzie miss zachowuje się do końca, ja też zauważyłem, że zachowują się czasami używane w niektórych varables ale nie innych. Mogę zapytać ...Użycie zatrzymania w initWithCoder?
(1) Jaki jest cel tego zachowania i dlaczego jest to czasami nie jest potrzebna?
(2) Czy korzystanie z funkcji zatrzymywania implikuje, że muszę dopasować ją do wydania, a jeśli tak, to gdzie?
- (id) initWithCoder: (NSCoder *) decoder {
name = [[decoder decodeObjectForKey: @"CardName"] retain];
email = [[decoder decodeObjectForKey: @"CardEmail"] retain];
}
lub
- (id) initWithCoder: (NSCoder *) decoder {
name = [decoder decodeObjectForKey: @"CardName"];
email = [decoder decodeObjectForKey: @"CardEmail"];
}
gary
Najprawdopodobniej widoczne próbki kodu, które nie zachowują jawnie zdekodowanego obiektu, wykorzystują metody ustawiające w celu odebrania prawa własności. – Chuck