多次写入NSOutputStream会导致多少事件?

时间:2013-03-05 18:19:50

标签: cocoa-touch nsstream

在流中对两个NSStreamEventHasBytesAvailable(我处理数据读取)中的NSOutputStream结果写两次写:handleEvent:?

1 个答案:

答案 0 :(得分:0)

您是否在输出流上查看了“流编程指南”? https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Streams/Articles/WritingOutputStreams.html

在输出流上,序列为:

  1. 分配/初始化
  2. 设置委托
  3. 在运行循环中安排
  4. 等待NSStreamEventOpenCompleted
  5. 等待NSStreamEventHasSpaceAvailable
  6. 当收到NSStreamEventHasSpaceAvailable时(这将只响应每次写入操作一次),您可以选择执行写操作。如果执行写操作,则需要等待再次写入之前接收NSStreamEventHasSpaceAvailable。执行写入时,还必须确认您尝试写入的所有内容都是实际写入的。如果写入尝试仅部分完成,则可能需要处理部分写入。