Wie verwende ich delegate in NSStream?

Ich bin ein Neuling in Objective-C. Ich versuche zu lernen, mit zu arbeitenNSStream. Ich habe nur einfachen Code vom Apple Support verwendet. Dieser Code sollte einen Stream aus einer Datei auf meinem Desktop öffnen und eine einfache Meldung anzeigen, wenn der Delegat von iStream aufgerufen wird. Am Ende des Codes kann ich sehen, dass der Status korrekt ist, aber der Delegat wird nie angerufen. Was vermisse ich?

#import <Foundation/Foundation.h>

@interface MyDelegate: NSStream <NSStreamDelegate>{
}

- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode ;

@end

@implementation MyDelegate

- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode  {
    NSLog(@"############# in DELEGATE###############");
}

@end

int main(int argc, const char * argv[])
{
    @autoreleasepool {
        MyDelegate* myDelegate=[[MyDelegate alloc]init];
        NSInputStream* iStream= [[NSInputStream alloc] initWithFileAtPath:@"/Users/Augend/Desktop/Test.rtf"];

        [iStream setDelegate:myDelegate];

        [iStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
                           forMode:NSDefaultRunLoopMode];
        [iStream open];

        NSLog(@" status:%@",(NSString*) [iStream streamError]);
    }
    return 0;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage