7
Come utilizzare NSCoder per codificare e decodificare i tipi personalizzati?NSCoder e tipi personalizzati
Per esempio, come si usa NSCoder con un'istanza di "STATE
" dove:
typedef enum { ON, OFF } STATE;
Come utilizzare NSCoder per codificare e decodificare i tipi personalizzati?NSCoder e tipi personalizzati
Per esempio, come si usa NSCoder con un'istanza di "STATE
" dove:
typedef enum { ON, OFF } STATE;
È possibile trattarli come numeri interi in cui sono implicitamente assegnati valori interi:
- (void) encodeWithCoder: (NSCoder *)coder {
...
[coder encodeInt:type forKey:@"state"];
}
- (id) initWithCoder: (NSCoder *)coder {
...
state = [coder decodeIntForKey:@"state"];
}
parte il fatto che un cambiamento nell'ordine internamente all'enum romperebbe la codifica. – Kenneth
E quale classe metti questi metodi? Sono tipi, non oggetti ... 'NSKeyedArchiver'? –
Per supportare la codifica e la decodifica delle istanze, una classe deve adottare il protocollo NSCoding e implementarne i metodi. Un oggetto codificato o decodificato è responsabile della codifica e della decodifica del suo stato. – Ushox