¿Cómo puedo hacer una subclase de NSInputStream?

Me gustaría hacer una subclase de NSInputStream. Simplemente, traté de codificar como la siguiente,

<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>

y, utilicé la clase como la siguiente.

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

Luego, en tiempo de ejecución, podría encontrar el siguiente mensaje de error.

- [SeekableInputStream initWithURL:]: selector no reconocido enviado a la instancia 0x10018ff30

No anulé initWithURL para usar el método de los padres a propósito. Según mi conocimiento, la clase derivada puede usar el método de la clase padre, ¿no es así?

¿No se puede heredar un método de extensión como initWithURL?

¿Hay alguien que me informe cómo hacer subclases de NSInputStream?

Respuestas a la pregunta(2)

Su respuesta a la pregunta