이것은 객관적인 c 코드입니다
dispatch_once(&onceToken, ^{
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYYMMDDHHmmss"];
homeDir = [NSURL fileURLWithPath:[@"~/xyz/" stringByExpandingTildeInPath]];
});
NSString* date = [formatter stringFromDate:[NSDate date]];
self.file = [[homeDir URLByAppendingPathComponent:[@"xyz-" stringByAppendingString:date]] URLByAppendingPathExtension:@"m4a"];
NSLog(@" self.file = %@", self.file );
이 코드를 SWIFT 3로 변환하려고 할 때 올바른 URL을 얻지 못했습니다. 누구든지 도와 줄 수 있습니까?
This is the path I get
~/xyz/xyz-201710291142410.m4a -- file:///Users/xyz/Library/Developer/Xcode/DerivedData/xyz-guhahcdeflytfhhdsxtsrucmqqnv/Build/Products/Debug/
하지만 이것이 내가 원하는 길
file : ///Users/xyz/xyz/xyz-201710291142410..m4a
내 실패한 신속한 구문
포맷터 = DateFormatter ()
formatter?.dateFormat = "YYYYMMDDHHmmss"
let urlS = "~/xyz/"
// NSURL.fileURL(withPath: urlS.stringByExpandingTil)
var homeDir = URL.init(fileURLWithPath: urlS) //URL.appendingPathComponent(URL(string: urlS))
let date: String? = formatter?.string(from: Date())
let file = homeDir.appendingPathComponent("xyz-" + (date!)).appendingPathExtension("m4a")
Swift에 상응하는 것은
let formatter : DateFormatter = {
let df = DateFormatter()
df.dateFormat = "YYYYMMDDHHmmss"
return df
}()
let homeDir = URL(fileURLWithPath: NSHomeDirectory()).appendingPathComponent("xyz")
let date = formatter.string(from: Date())
let file = homeDir.appendingPathComponent("xyz-" + date).appendingPathExtension("m4a")
~
구문 을 사용하려면 Swift에서 사용할 수 NSString
없기 때문에 문자열을 브리지해야합니다.expandingTildeInPath
String
let homeDir = URL(fileURLWithPath:("~/xyz/" as NSString).expandingTildeInPath).appendingPathComponent("xyz")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다