2014-06-10 2 views
0

Я пытаюсь написать простой синтаксический анализатор html в Swift. Я импортировал libxml через заголовок моста. Но теперь у меня есть проблема, получив xml-файл в CString. Для метода htmlReadMemory в качестве первого параметра требуется CString. Я загрузил XML-файл в NSData. Передача data.bytes не работает. Я получаю ошибкуCString из NSData

Could not find an overload for '__conversion' that accepts the supplied arguments.

В примере Obj-C-кода, таким образом работает. Почему не в Свифт? Любые идеи, как я могу привести NSData к CString?

ответ

2

Вам нужно преобразовать его в NSString первый, то вы можете использовать функцию cString():

let xmlData = NSData() 
    let cocoaString = NSString(data: xmlData, encoding: NSUTF8StringEncoding) 

    let cString = cocoaString.cString() 
+0

Спасибо. Черт, у меня почти было это решение;) – Lupurus

0

Это должно работать с string.bridgeToObjectiveC().UTF8String.

+0

К сожалению, я не понимаю ваш ответ, я хочу конвертировать NSData;) – Lupurus

0

Вы можете использовать ...

let cString = string.cStringUsingEncoding(NSUTF8StringEncoding)

Смежные вопросы