我试图通过Xcode和Swift在OSX中显示一个打开的文件对话框。 然后我想把文件名放在TextField中。
我从
开始@IBOutlet weak var lblFileName: NSTextField!
@IBAction func FileOpen(sender: AnyObject) {
var f:NSOpenPanel = NSOpenPanel()
f.title = "open that file"
f.allowsMultipleSelection = false
f.canChooseDirectories = false
f.runModal()
var thefile = f.URLs[0].absoluteString
println(thefile)
//failed: lblFileName.stringValue = thefile
lblFileName.stringValue = "I want this to be the filename!"
}
println(thefile)工作,所以这只是转换URL的问题 变量“thefile”不是字符串,并且所有尝试转换它都失败了。
我确实让它工作了所以我想我也会在这里发布答案。
答案 0 :(得分:0)
这里是最终工作的代码 注意我创建了一个名为mystring的字符串,不得不使用?而且!让事情发挥作用。 如果有更简单/更好的方式,请在评论中添加!
@IBOutlet weak var lblFileName: NSTextField!
@IBAction func FileOpen(sender: AnyObject) {
var f:NSOpenPanel = NSOpenPanel()
f.title = "open that file"
f.allowsMultipleSelection = false
f.canChooseDirectories = false
f.runModal()
var thefile = f.URLs[0].absoluteString
println(thefile)
var mystring:String? = thefile
lblFileName.stringValue = mystring!
}