
我需要创建一个基于文档的应用程序,其中文档实际上不是单个文件,而是目录中的文件的结构化集合.窗口将显示包含在文件夹中的pdf,具有特定的文件名,并使用文件夹中其他文件的信息进行丰富.
我无法使用pdf注释来实现这一点,我真的需要将文件与pdf分开.
实现这一目标的最佳方法是什么?我找到的所有示例代码都使用单个文件..
解决方法 您可以将NSfileWrapper用作基于文档的应用程序中的包目录.在应用程序Info.pList文件中,声明您的文档类型是包或包(键值为LSTypeIsPackage,值为YES).
在NSdocument子类中,实现以下读写方法.在这个例子中,我假设相应的模型实例变量是pdfData和signatureBitmapData,它们分别存储在Maindocument.pdf和SignatureBitmap.png下的包目录中.
- (BOol)readFromfileWrapper:(NSfileWrapper *)dirWrapper ofType:(Nsstring *)typename error:(NSError **)outError{ NSfileWrapper *wrapper; NSData *data; wrapper = [[dirWrapper fileWrappers] objectForKey:@"Maindocument.pdf"]; data = [wrapper regularfileContents]; self.pdfData = data; wrapper = [[dirWrapper fileWrappers] objectForKey:@"SignatureBitmap.png"]; data = [wrapper regularfileContents]; self.signatureBitmapData = data; … return YES;}- (NSfileWrapper *)fileWrapperOfType:(Nsstring *)typename error:(NSError **)outError{ NSfileWrapper *dirWrapper = [[[NSfileWrapper alloc] initDirectoryWithfileWrappers:nil] autorelease]; [dirWrapper addRegularfileWithContents:self.pdfData preferredfilename:@"Maindocument.pdf"]; [dirWrapper addRegularfileWithContents:self.signatureBitmapData preferredfilename:@"SignatureBitmap.png"]; … return dirWrapper;} 从用户的角度来看,包目录在Finder中显示为好像是单个文件,就像Xcode .xcodeproj目录或应用程序包一样.
总结以上是内存溢出为你收集整理的objective-c – NSDocument来保存一个完整的文件夹?全部内容,希望文章能够帮你解决objective-c – NSDocument来保存一个完整的文件夹?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)