2017-10-31 11 views
0

대부분의 명령 줄 도구에서 파일 경로는 ../someFile, ~/anotherFile, /foo/bar과 같은 형식을 사용하여 지정할 수 있습니다. 어떻게 유효한 Swift URL 또는 (Foundation) 경로를 이러한 경로에서 초기화 할 수 있습니까?NSURL 또는 Foundation 경로의 "Bash like"경로

편집 :
어쩌면 코드 예제는 명확하다, 나는 경로에서 문자열을 초기화하기 위해서 싶은 말은 내가이 일을 내 사용자 디렉토리에 foo 파일이 :

try String(contentsOfFile: "~/foo") 

는하지 않습니다 작업 스위프트에서

+0

'초기화 (fileURLWithPath 연평균 th : ​​String, relativeTo base : URL?)'마지막으로? – Larme

+0

@Larme Hum ... 만약 내가 옳다면 마지막 URL은 상대 URL이 아니다. 단지/foo 폴더에있는 현재 디스크의 루트에 위치한 ressource를 지정한다. –

+0

https : // stackoverflow의 가능한 복제본 .com/questions/38173050/swift-how-to-expand-a-path-in-a-path-string –

답변

1

을 (오류 파일이 존재하지 않을 것이다), 당신은 할 수 있습니다 :

let str = "~/Documents" 
// NSString has a function for decoding this, not available to String: 
let str2 = (str as NSString).standardizingPath as String 

// Swift deprecated the String path manipulation functions, 
// but supplies them as part of NSURL: 
let url = URL(fileURLWithPath: str) 
let url2 = url.standardizedFileURL // Expands the URL