Sé que cuando escribe el método initWithCoder de una subclase de un objeto que implementa NSCoding, debe llamar a super initWithCoder
(en lugar de super init
), pero ¿debo llamar al super encodeWithCoder
en la implementación de encodeWithCoder?¿Es necesario llamar a [super encodeWithCoder] cuando se subclasifica un objeto que implementa NSCoding?
15
A
Respuesta
24
Si se hereda de una clase que admite la codificación, es generalmente adviseable utilizar [super encodeWithCoder:]
en su método encodeWithCoder:
, tanto como [super initWithCoder:]
se va a utilizar en el método initWithCoder:
.
Documentación:NSCoding Protocol Reference
Referencia:http://www.cocoadev.com/index.pl?NSCoder
si la clase hereda de una clase que se ajusta a (NSObject no se ajusta), entonces debería incluir la [encodeWithCoder:] método.
// <NSCoding> protocol methods
-(void)encodeWithCoder:(NSCoder*)coder
{
[super encodeWithCoder:coder];
/*
[coder encodeObject: theNSStringInstanceVariable];
[coder encodeObject: theNSDictionaryInstanceVariable];
[coder encodeValueOfObjCType:@encode(BOOL) at:&theBooleanInstanceVariable];
[coder encodeValueOfObjCType:@encode(float) at:&theFloatInstanceVariable];
*/
}
Cuestiones relacionadas
- 1. ¿Qué le sucede a un objeto NSArray cuando se codifica?
- 2. ¿Cómo se implementa Super en Java?
- 3. Llamar a super()
- 4. en C++ cuando se subclasifica por qué a veces es necesario agregar una palabra clave virtual para reemplazar la función?
- 5. HttpURLConnection: ¿Es necesario llamar a connect()?
- 6. Cómo almacenar un NSUInteger usando NSCoding?
- 7. Dentro de un controlador de vista, ¿es necesario llamar a removeFromSuperview en las subvistas durante viewDidUnload?
- 8. NSCoding con como NSString dentro de un objeto
- 9. Arrays.sort (Objeto [] a): ¿cómo se implementa?
- 10. iPhone - ¿Por qué la documentación dice que UIImageView es compatible con NSCoding?
- 11. ¿Llamar a _freea realmente necesario?
- 12. ¿Tengo que llamar a [super init] o [super initWithCoder], etc. para NSObject
- 13. ¿Es necesario llamar a DispatchMessage en los programas de win32?
- 14. Java - Asegúrese de que un objeto implementa una interfaz
- 15. Python - ¿Existe una función que se invoca cuando un objeto no implementa una función?
- 16. ¿Está bien llamar a [super loadView]?
- 17. Cómo llamar a un super método de objeto PL/SQL de Oracle
- 18. ¿No tengo que llamar a super() en el constructor cuando la clase extiende Sprite en actionscript3?
- 19. ¿Por qué llamar a super() en un constructor?
- 20. Usando NSCoding en una subclase de clase personalizada
- 21. C#, WPF, llama automáticamente a Dispatcher. ¿Invoca cuando es necesario?
- 22. ¿Es necesario llamar a flush() (interfaz JPA) en esta situación?
- 23. ¿Es necesario cerrar cuando falló Fopen?
- 24. Powermock, Mockito nullpointerexception al llamar a super() JDialog
- 25. ¿Se garantiza que un objeto se moverá cuando se devuelva?
- 26. En Delphi es posible vincular una interfaz a un objeto que no lo implementa
- 27. Llamar a Dispose() frente a cuando sale un objeto scope/method termina
- 28. Cómo comprobar que implementa objeto de interfaz
- 29. ¿Cómo se elevan los privilegios solo cuando es necesario?
- 30. ¿Por qué session_start es necesario cuando se usa la sesión?
Gracias mucho :) – XaitormanX
@XaitormanX De nada, mi amigo! :-) –