NSInputStream *との違いはCFReadStreamRef、最初のオブジェクトがObjective Cオブジェクトであり、2番目のオブジェクトがネイティブ構造体であるということです。それにもかかわらず、それらは無料のブリッジです。
ネットワークストリームに基づいたプログラムを実装したい。
- [NSStream getStreamsToHost:port:inputStream:outputStream:]はとを生成 - NSInputStream *し- NSOutputStream *ます。ただし、iOSでは、この方法は使用できません。- したがって、 iOSではCFStreamCreatePairWithSocketToHostを使用する必要があります。 - CFReadStreamRef readStream; CFWriteStreamRef writeStream; CFStreamCreatePairWithSocketToHost( kCFAllocatorDefault, host, port, &readStream, &writeStream); NSInputStream *read = (__bridge NSInputStream *)readStream; NSOutputStream *write = (__bridge NSOutputStream *)writeStream;
- ストリームプロパティを設定する場合、を使用するとすべてのプロパティを使用できるわけではありません - NSInputStream *。特に、- kCFStreamPropertyShouldCloseNativeSocket対応するストリームが閉じられたときにソケットも閉じられるようにすることは興味深いでしょう。- このプロパティを設定するには、をに変換して - NSInputStream *から- CFReadStreamRef、変換を元に戻して、このようなプロパティを設定する必要がありますか?
- ..。 
には複数のNSInputStream *欠点があるようです。その場合、私はそれを提供することはできませんが、私がそれの独自のサブクラスを提供できることは本当に唯一の利点CFReadStreamRefですか?どの方法をいつ使用する必要がありますか?