1. NSOpenPanel的beginWithCompletionHandler:^(NSInteger result),打开文件对话框时,对话框出现在屏幕的*。
NSMutableArray * fileURLArray = [[NSMutableArray alloc] init]; NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel]; [mySelectPanel setCanChooseDirectories:YES]; [mySelectPanel setCanChooseFiles:YES]; [mySelectPanel setCanCreateDirectories:YES]; [mySelectPanel setAllowsMultipleSelection:YES]; [mySelectPanel setResolvesAliases:YES]; //界面出现在电脑屏幕* [mySelectPanel beginWithCompletionHandler:^(NSInteger result) { if (result == NSModalResponseOK) { NSLog(@"OK"); for (NSURL * url in [mySelectPanel URLs]){ NSString * path = [NSString stringWithString:[url path]]; //path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [fileURLArray addObject:path]; NSLog(@"%@", path); } for (NSString * a in fileURLArray) { NSLog(@"%@", a); } NSLog(@"%@", fileURLArray); } else if (result == NSModalResponseCancel) { NSLog(@"Cancel"); } else if (result == NSModalResponseStop) { NSLog(@"Stop"); } }];
2. NSOpenPanel的beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result),打开文件对话框时,对话框依附在操作界面下。
NSMutableArray * fileURLArray = [[NSMutableArray alloc] init]; NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel]; [mySelectPanel setCanChooseDirectories:YES]; [mySelectPanel setCanChooseFiles:YES]; [mySelectPanel setCanCreateDirectories:YES]; [mySelectPanel setAllowsMultipleSelection:YES]; [mySelectPanel setResolvesAliases:YES]; //对话框依附在操作界面下 [mySelectPanel beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result) { if (result == NSModalResponseOK) { NSLog(@"OK"); for (NSURL * url in [mySelectPanel URLs]){ NSString * path = [NSString stringWithString:[url path]]; //path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [fileURLArray addObject:path]; NSLog(@"%@", path); } for (NSString * a in fileURLArray) { NSLog(@"%@", a); } NSLog(@"%@", fileURLArray); } else if (result == NSModalResponseCancel) { NSLog(@"Cancel"); } else if (result == NSModalResponseStop) { NSLog(@"Stop"); } }];