Я являюсь приложением macOS Cocoa, мне нужно сохранить пакет в собственном формате приложения.По этой причине я решил взглянуть на NSFileWrapper, который представляется наиболее чистым решением проблемы.Мой код выглядит следующим образом:
NSFileWrapper *bundleFileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:nil];
NSDictionary *fileWrappers = [bundleFileWrapper fileWrappers];
if ([fileWrappers objectForKey:mboxFileName] == nil) {
NSFileWrapper *textFileWrapper = [[NSFileWrapper alloc] initRegularFileWithContents:mboxData];
[textFileWrapper setPreferredFilename:mboxFileName];
[bundleFileWrapper addFileWrapper:textFileWrapper];
}
NSError *error;
BOOL success = [bundleFileWrapper writeToURL:[NSURL fileURLWithPath:path] options:NSFileWrapperWritingAtomic originalContentsURL:NULL error:&error];
NSLog(@"Error = %@",[error localizedDescription]);
Моя проблема в том, что в итоге я использую очень большие объекты NSData, и этот подход занимает много памяти.Есть ли способ использовать NSFileWrapper для записи небольших объектов NSData в последовательности?Любая помощь с благодарностью.