ファイル (IOS) からコンテンツをロードするために NSInputStream を作成しました。
NSString* fileName = [[NSBundle mainBundle] pathForResource:@"resource" ofType:@".dat"];
NSInputStream* dataStream = [NSInputStream inputStreamWithFileAtPath:fileName];
if (dataStream == nil) {
NSLog(@"load asset failed");
return;
}
[dataStream setDelegate:self];
[dataStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
[dataStream open];
次に、イベント ハンドラーを追加します。
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode {
switch(eventCode) {
case NSStreamEventEndEncountered: {
[stream removeFromRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
break;
}
}
}
イベント:NSStreamEventEndEncountered をキャッチしたいのですが、起こりませんでした。NSStreamEventOpenCompleted と NSStreamEventHasBytesAvailable しかキャッチできません。
何か間違っていますか?助けてくれてありがとう!