2016-06-24 4 views
0
let cStringRef : CFStringRef = CFStringCreateWithCString(nil, NSBundle.mainBundle().pathForResource("Luffy", ofType: "mp3")! , kCFStringEncodingMacRoman) 

이 인코딩은 작동하지 않지만 문서에 나와 있습니다. CFStringGetSystemEncoding() 이외의 Swift에서 CFStringEncoding을 검색하는 방법은 무엇입니까?

는 MacRoman도를 얻기 위해, 내가 CFStringGetSystemEncoding()

를 사용하여 내 질문이 아닌 다른 CFStringEncoding을 검색하는 방법입니다. 그냥 CFStringLuffy.mp3의 경로를 변환 할 경우

답변

0

, 이것을 사용 :

let cStringRef = NSBundle.mainBundle().pathForResource("Luffy", ofType: "mp3")! as CFString 

편집 : 당신은 먼 길을 가고 싶은 경우 :

let path = NSBundle.mainBundle().pathForResource("Luffy", ofType: "mp3")! 
let cString = path.cStringUsingEncoding(NSMacOSRomanStringEncoding)! 

let cfString = CFStringCreateWithCString(nil, cString, CFStringBuiltInEncodings.MacRoman.rawValue) 
+0

네,하지만 질문은, 다른 어떤 방법으로 특정 인코딩을 얻는 것입니까? 왜냐하면 kCFStringEncodingMacRoman이 작동하지 않기 때문입니다. – Krishna

0

을 이 코드는 의미가 없습니다. 무엇이든지.

경로는 NSString이며 String 및 CFStringRef와 직접 호환됩니다. C 문자열은 어디에도 없습니다.

지구상에서 CFString (이상한 것)을 사용하고 그 사용법을 제거하려는 이유를 알아내는 것이 좋습니다. 또는 인터넷에서 일부 코드를 복사 한 경우 복사 할 새 코드를 찾으십시오. Swift 코드가 CFStringRef를 사용하면 잘못된 것을하고있는 것입니다.