estoy leyendo hasta aproximadamente codificación y decodificación, me di cuenta de que a veces la gente se pierda la conservará fuera de la final, también me he dado cuenta que retienen a veces se utiliza en algunos varables pero no otros. ¿Puedo preguntar ...Uso de retener en initWithCoder?
(1) ¿Cuál es el propósito de esta retener y por qué es que a veces no se necesita?
(2) ¿El uso de la retención implica que tengo que coincidir con un lanzamiento, y en caso afirmativo, dónde?
- (id) initWithCoder: (NSCoder *) decoder {
name = [[decoder decodeObjectForKey: @"CardName"] retain];
email = [[decoder decodeObjectForKey: @"CardEmail"] retain];
}
o
- (id) initWithCoder: (NSCoder *) decoder {
name = [decoder decodeObjectForKey: @"CardName"];
email = [decoder decodeObjectForKey: @"CardEmail"];
}
Gary
Lo más probable es que se ven ejemplos de código que no retienen explícitamente el objeto decodificado están utilizando métodos setter para reclamar la propiedad. – Chuck