Ich habe diese Verbraucherklasse, die einen NSInputStream als Argument nimmt, die async verarbeitet werden, und ich möchte Daten schieben, die von einer Producer-Klasse kommt, die erfordert, dass es einen NSOutputStream als seine Ausgabequelle bereitgestellt hat. Wie könnte ich nun einen puffernden (oder transparenten) Stream einrichten, der als Ausgabestream für den Produzenten und gleichzeitig als NSInputStream für meine Konsumentenklasse fungiert?
Ich habe mir den NSOutputStream +outputStreamToMemory und +outputStreamToBuffer:capacity: ein wenig angesehen, aber ich habe nicht wirklich herausgefunden, wie man ihn als Eingabe für eine NSInputSource verwenden kann.
Ich hatte einige Idee der Einrichtung einer Mittelmann-Klasse, die den tatsächlichen Puffer hält, dann erstellen zwei Unterklassen (eine für jede NSInput/OutputStream), die einen Verweis auf diese Pufferung Klasse hält, und mit diesen Unterklassen delegieren die meisten Aufrufe an diese Klasse, z.B. Ausgabe Unterklasse Methoden hasSpaceAvailable, write:maxLength:, und für die Eingabe, hasBytesAvailable, read:maxLength: usw.
Für jeden Tipp, wie man diese Situation angehen kann, bin ich dankbar. Danke!