NSOutputStream を使用してデータを蓄積し、終了したら、その内容で NSData オブジェクトを作成します。次のように、出力ストリームがファイルに基づいている場合に実行できます。
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];
// fill the output stream here
NSData *contents = [NSData dataWithContentsOfFile:filePath];
[outputStream close];
一時ファイルを作成せずに「contents」変数を埋めたい。これをすべてメモリ内で実行できますか?NSOutputStream のドキュメントには、そのための API がありません。