2
내 앱에서 데이터를 저장하기 위해 인코딩을 처음 사용하고 있습니다. 지금까지 살펴본 예제에서는 [super encodeWithCoder:coder];
에 맞춤 클래스를 호출한다고 말합니다.NSObject는 encodeWithCoder를 지원하지 않습니까?
나는 NSObject
을 확장하지만 아래 오류 메시지가 표시됩니다. 이것은 NSObject
이 기본 클래스이고 인코딩 할 것이 없기 때문에입니까?
:
맞아
- (void)encodeWithCoder:(NSCoder *) coder
{
[super encodeWithCoder:coder]; // <-------------------------ERROR
[coder encodeInt:noteIndex forKey:@"noteIndex"];
[coder encodeCGRect:cellRect forKey:@"cellRect"];
[coder encodeBool:noteOn forKey: @"noteOn"];
[coder encodeInt:note forKey:@"note"];
[coder encodeInt:velocity forKey:@"velocity"];
[coder encodeInt:channel forKey:@"channel"];
[coder encodeInt:releaseVelocity forKey:@"releaseVelocity"];
[coder encodeFloat:duration forKey:@"duration"];
}
멋진 - 감사합니다. –
개체를 인스턴스화 할 때 'initWithCode : (NSCoder *) decoder'를 명시 적으로 호출해야합니까? 그렇다면 '디코더'에 대해 무엇을 전달합니까? – greenhouse
nevermind, 나는 테스트를 했으므로 명시 적으로 호출하지 않아도됩니다. 감사합니다! – greenhouse