Jak mogę utworzyć podklasę NSInputStream?

Chciałbym utworzyć podklasę NSInputStream. Po prostu próbowałem kodować w następujący sposób:

<code>@interface SeekableInputStream : NSInputStream
{
    NSUInteger startOffset;
    NSUInteger totalReadLen;
}

- (NSInteger)read:(uint8_t *)buffer maxLength:(NSUInteger)len;
- (BOOL)getBuffer:(uint8_t **)buffer length:(NSUInteger *)len;
- (BOOL)hasBytesAvailable;
- (void)open:(NSUInteger)offset;

@end
</code>

i użyłem tej klasy jak poniżej.

<code>SeekableInputStream *stm = [[SeekableInputStream alloc] initWithURL:url];
</code>

Następnie w czasie wykonywania mogłem spełnić następujący komunikat o błędzie.

- [SeekableInputStream initWithURL:]: nierozpoznany selektor wysłany do instancji 0x10018ff30

Nie przesłoniłem initWithURL do celowego używania metody rodzica. W oparciu o moją wiedzę klasa pochodna może używać metody klasy macierzystej, prawda?

Nie można dziedziczyć metody rozszerzenia, takiej jak initWithURL?

Czy jest ktoś, kto informuje mnie, jak zrobić subclassing NSInputStream?

questionAnswers(2)

yourAnswerToTheQuestion