【发布时间】:2011-06-22 09:16:27
【问题描述】:
我创建了一个 NSInputStream 来从文件中加载内容(IOS):
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。
有什么问题吗?感谢您的帮助!
【问题讨论】:
标签: objective-c ios nsinputstream