【发布时间】:2011-01-25 06:14:08
【问题描述】:
嗨:我想将标准输出重定向到 NSTextView。这也适用于子流程的输出吗?实现这一目标的最佳方法是什么?
编辑: 根据 Peter Hosey 的回答,我实施了以下操作。但我没有收到通知。我做错了什么?
NSPipe *pipe = [NSPipe pipe];
NSFileHandle *pipeHandle = [pipe fileHandleForWriting];
dup2(STDOUT_FILENO, [pipeHandle fileDescriptor]);
NSFileHandle *fileHandle = [[NSFileHandle alloc] initWithFileDescriptor:pipeHandle];
[fileHandle acceptConnectionInBackgroundAndNotify];
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc addObserver:self selector:@selector(handleNotification:) name:NSFileHandleConnectionAcceptedNotification object:fileHandle];
【问题讨论】:
-
这与python有什么关系?
-
@Eimantas:你说得对,这与问题没有直接关系。实际上,我正在使用 PyObj 与写入要显示的 stdout 的 Python 代码进行通信。我应该删除标签...
标签: cocoa subprocess stdout