我需要使用 NSPipe 通道实现两个线程之间的通信,问题是我不需要通过指定此方法来调用终端命令。
[task setCurrentDirectoryPath:@"....."];
[task setArguments:];
我只需要写一些数据
NSString * message = @"Hello World";
[stdinHandle writeData:[message dataUsingEncoding:NSUTF8StringEncoding]];
并在另一个线程上接收此消息
NSData *stdOutData = [reader availableData];
NSString * message = [NSString stringWithUTF8String:[stdOutData bytes]]; //My Hello World
例如,C# 中的此类事情可以通过 NamedPipeClientStream、NamedPipeServerStream 类轻松完成,其中管道由 id 字符串注册。
如何在 Objective-C 中实现它?