Ich möchte einen NSOutputStream verwenden, um Daten zu akkumulieren, und dann, wenn fertig, ein NSData-Objekt mit dem Inhalt erstellen. Ich kann das tun, wenn der Ausgabestream auf einer Datei basiert, wie folgt:
NSString *tmpDirectory = NSTemporaryDirectory();
NSString *filePath = [tmpDirectory stringByAppendingPathComponent:@"tempfile"];
[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
NSOutputStream *outputStream = [[NSOutputStream alloc] initToFileAtPath:filePath append:NO]; [outputStream open];
// füllen Sie den Ausgabestrom hier
NSData *contents = [NSData dataWithContentsOfFile:filePath];
[outputStream close];
Ich möchte, dass die Variable 'contents' gefüllt wird, ohne dass die temp-Datei erstellt wird. Kann ich das alles im Speicher erledigen? Ich sehe keine entsprechende API in der NSOutputStream-Dokumentation.