我有一个应用程序,我使用第三方库来保存和加载数据。通常在使用 NSDocument 时,我已经覆盖了该- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError
方法并返回了正确的数据,但是使用这个库我只能访问一个保存例程(它也可以创建多个文件,否则我会保存到一个临时文件并返回临时文件)。
我还尝试了以下方法:
- (void)saveToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOperation completionHandler:(void (^)(NSError *errorOrNil))completionHandler
{
librarySaveFunction(url.path);
}
哪个有效,但文档标题保持为“我的文件 - 已编辑”,如果我再次尝试保存,我会收到一个错误,即文档已被另一个应用程序更新(我可以通过设置我的文件修改日期来解决这个问题,但该文件仍被标记为已编辑,感觉非常hackish)。
有没有人对覆盖保存程序的更好方法有更好的建议?