7
如何使用NSCoder對自定義類型進行編碼和解碼?NSCoder和自定義類型
例如,你將如何使用NSCoder與實例「STATE
」其中:
typedef enum { ON, OFF } STATE;
如何使用NSCoder對自定義類型進行編碼和解碼?NSCoder和自定義類型
例如,你將如何使用NSCoder與實例「STATE
」其中:
typedef enum { ON, OFF } STATE;
你可以把它們作爲整數,因爲它們隱含分配整數值:
- (void) encodeWithCoder: (NSCoder *)coder {
...
[coder encodeInt:type forKey:@"state"];
}
- (id) initWithCoder: (NSCoder *)coder {
...
state = [coder decodeIntForKey:@"state"];
}
除在枚舉內部的順序改變會破壞編碼。 – Kenneth 2012-06-29 08:39:25
你們把這些方法放在哪一類?他們是類型,而不是對象...'NSKeyedArchiver'? – 2012-11-23 01:32:39
爲了支持實例的編碼和解碼,一個類必須採用NSCoding協議並實現其方法。被編碼或解碼的對象負責對其狀態進行編碼和解碼。 – Ushox 2012-11-30 06:01:51