替换NSFileWrappers

n.e*_*ind 6 iphone cocoa objective-c nsfilewrapper

我有一个NSFileWrapper目录,我想在其中更新某个FileWrapper.我想知道最好的方法是什么?

到目前为止,我已经使用了这段代码:

[self.fileWrapper addRegularFileWithContents:photoData 
                           preferredFilename:@"photo.data"];
Run Code Online (Sandbox Code Playgroud)

但是,只要FileWraper已经存在,我就会在FileWrapper中看到重复的内容,如下所示:

"1__#$!@%!#__photo.data" = "<NSFileWrapper: 0x6bb0260>";
"2__#$!@%!#__photo.data" = "<NSFileWrapper: 0x6b89b80>";
"3__#$!@%!#__photo.data" = "<NSFileWrapper: 0x6ba1700>";
"4__#$!@%!#__photo.data" = "<NSFileWrapper: 0x6bc8480>";
"photo.data" = "<NSFileWrapper: 0x6bcfc50>";
Run Code Online (Sandbox Code Playgroud)

如何防止这种情况并简单地替换FileWrapper - 在本例中为photo.data?我没有找到任何替换NSFileWrapper类参考中的FileWrappers的方法.

n.e*_*ind 5

我认为这可能是解决方案:

NSFileWrapper *oldFileWrapper = [self.fileWrapper.fileWrappers objectForKey:fileName];
if (oldFileWrapper) [self.fileWrapper removeFileWrapper:oldFileWrapper];

[self.fileWrapper addRegularFileWithContents:[self encodeObject:object] 
                           preferredFilename:fileName];
Run Code Online (Sandbox Code Playgroud)