在Objective-C中使用NSOpenPanel类需要导入哪个框架?

时间:2015-10-03 09:12:01

标签: objective-c iphone

我想在我的应用程序中打开文件对话框,将特定的选定文件上传到Objective-C中的服务器上。我在我的应用程序中使用以下代码,但它似乎在创建NSOpenPanel的对象时出错。

请帮帮我。

NSOpenPanel *openPanel = [NSOpenPanel openPanel];
openPanel.title = @"Choose a .TXT file";
openPanel.showsResizeIndicator = YES;
openPanel.showsHiddenFiles = NO;
openPanel.canChooseDirectories = NO;
openPanel.canCreateDirectories = YES;
openPanel.allowsMultipleSelection = NO;
openPanel.allowedFileTypes = @[@"txt", @"jpg", @"jpeg", @"zip", @"png"];

[openPanel beginSheetModalForWindow:appDelegate.controlsWindow
                  completionHandler:^(NSInteger result) {

      if (result==NSOKButton) {

          NSURL *selection = openPanel.URLs[0];
          NSString* path = [selection.path stringByResolvingSymlinksInPath];

          //do something with the file at "path"

      }

  }];

1 个答案:

答案 0 :(得分:0)

iOS上不存在NSOpenPanel。在大多数情况下,文件的整个概念对用户来说非常隐蔽。这里的最终目标是什么?您想将哪种“文件”上传到服务器?

UIKit拥有UIImagePickerController,您可以使用它来从照片库中选择图像。