Je souhaite préparer un message binaire en mémoire avant de l'envoyer sur le réseau. Quel est l'objectif-c équivalent à ByteArrayOutputStream de Java? J'ai vu le CFWriteStreamCreateWithAllocatedBuffers un peu compliqué, et le plus simple [[NSOutputStream alloc] initToMemory], cependant - je n'ai pas réussi à comprendre comment utiliser l'un de ceux-ci.Quel est l'objectif-c équivalent à ByteArrayOutputStream de Java?
Un exemple de code qui initialise un flux de sortie, écrit des données dans celui-ci et obtient les résultats des octets (sous une forme quelconque, NSData ou char * ou autre) serait vraiment utile.
J'ai essayé quelque chose comme ce qui suit, mais il semble que propertyForKey renvoie des données nulles. une idée? NSOutputStream * out = [NSOutputStream outputStreamToMemory]; \t [self writeString: out str: self.m_sessionId]; NSData * data = [sortie propertyForKey: NSStreamDataWrittenToMemoryStreamKey]; –
Vous n'avez pas fait tout ce que la documentation vous disait de faire. Vous devez ouvrir le flux avant de l'écrire et le fermer lorsque vous avez terminé. –