我有這樣的Objective-C代碼:Swift中的NSOpenPanel。如何打開?
- (IBAction)selectFileButtonAction:(id)sender {
//create open panel...
NSOpenPanel* openPanel = [NSOpenPanel openPanel];
// NSLog(@"Open Panel");
//set restrictions/allowances...
[openPanel setAllowsMultipleSelection: NO];
[openPanel setCanChooseDirectories:NO];
[openPanel setCanCreateDirectories:NO];
[openPanel setCanChooseFiles:YES];
//only allow images...
[openPanel setAllowedFileTypes:[NSImage imageFileTypes]];
//open panel as sheet on main window...
[openPanel beginWithCompletionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton) {
//get url (should only be one due to restrictions)...
for(NSURL* URL in [openPanel URLs]) {
// self.roundClockView1.URL = URL ;
_thePath = URL;
currentSelectedFileName = [[URL path] lastPathComponent];
// [_roundClockView1 setNeedsDisplay:1];
[self openEditor];
}
}
}];
現在我想寫這SWIFT同樣的事情。這是我迄今爲止所做的:
@IBAction func selectAnImageFromFile(sender: AnyObject) {
var openPanel = NSOpenPanel()
openPanel.allowsMultipleSelection = false
openPanel.canChooseDirectories = false
openPanel.canCreateDirectories = false
openPanel.canChooseFiles = true
openPanel.beginWithCompletionHandler(handler: (Int) -> Void)
}
這裏我卡住了。 感謝您的幫助。