如果我正确理解您的应用程序,这意味着您的应用程序接收到对特定流的引用,并且您负责阅读流中的所有内容。读取这些流应该是您通过 NSThread、NSOperation 或其他线程机制从应用程序强制进入后台的内容。
例子:
在您与此 NSInputStream 绑定的任何文件中:
@property (strong, nonatomic) NSInvocationOperation *parseOp;
(id)startInputRead:(NSInputStream *)input {
if([input hasBytesAvailable]) {
self.parseOp = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(readAndStoreInput:) object:inputStream];
}
你的读者是这样的:
(void)readAndStoreInput:(NSInputSteam*) input{
//process your input steam into your system in the background
}
这是一个简短的示例,说明如何为输入端执行此操作。您也可以以类似的方式为输出蒸汽排队工作。这应该使所有内容同时运行,并且您的应用程序保持响应。