2014-10-31 4 views
2

Xcode와 Swift를 통해 OSX에서 열린 파일 대화 상자를 표시하려고했습니다. 그런 다음 파일 이름을 TextField에 넣기를 원했습니다. NSOpenPanel.URL을 문자열로 변환하려면 어떻게해야합니까?

내가

@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"을 변환 그냥 문제였다 문자열과 실패 행사할 수있는 모든 시도는하지 않았다.

나는 그것이 내가 여기에 답변을 게시 할 것이라고 생각 했으므로 작동하도록 만들었습니다.

+1

var thefile : NSString = f.URLs [0] .absoluteString! –

답변

0

다음은 작동을 종료 한 코드입니다. note 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! 
} 
관련 문제