アプリを Objective-C から Swift に移植していますが、次の方法を使用する必要があります。
CFStreamCreatePairWithSocketToHost(alloc: CFAllocator!, host: CFString!, port: UInt32, \
readStream: CMutablePointer<Unmanaged<CFReadStream>?>, \
writeStream: CMutablePointer<Unmanaged<CFWriteStream>?>)
古いロジックは次のようになります (いくつかの Web サイトが同意しているようです)。
CFReadStreamRef readStream = NULL;
CFWriteStreamRef writeStream = NULL;
CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)(host), port, \
&readStream, &writeStream);
NSInputStream inputStream = (__bridge_transfer NSInputStream *)readStream;
NSOutputStream outputStream = (__bridge_transfer NSOutputStream *)writeStream;
フリーダイヤルのブリッジングのおかげで、これはうまく機能します。ただし、「Swift-space」には ARC が存在せず、型システムが変更されています。
ストリームをインスタンスに変換するにはどうすればよいですか
CMutablePointer<Unmanaged<CFReadStream>?>, and
CMutablePointer<Unmanaged<CFWriteStream>?>
そして、呼び出しNSStream
後にそれらをサブクラスに変換しますか?CFStreamCreatePairWithSocketToHost