Я пытаюсь реализовать структуру PeerTalk в swift. Получение этого типа, когда макинтош отправляет мне данные:dispatch_data_t преобразование в nsstring
public class PTData : NSObject {
public var dispatchData: dispatch_data_t! { get }
public var data: UnsafeMutablePointer<Void> { get }
public var length: Int { get }
}
Можно было бы предположить, что простое преобразование и nil
чек будет делать:
if payload != nil {
let databis = NSData(bytesNoCopy: payload.data, length: payload.length, freeWhenDone: false)
let data = NSData(contentsOfDispatchData: payload.dispatchData)
let str = NSString(data: data, encoding: NSUTF8StringEncoding)
let strbis = NSString(data: databis, encoding: NSUTF8StringEncoding)
print("data is receive")
print(str)
print(strbis)
}
полезная нагрузка существо типа PTData
! подобный заявленный ранее. Ни один из методов я пытался работал, чтобы получить мою строку назад, я получаю это:
данные получают
Факультативные()
Есть идеи?
Проблема не optionnal здесь, но тот факт, что optionnal пуст, не ноль, но с на самом деле нет данных внутри него. –
Вы проверили содержимое 'payload.dispatchData'? – AncAinu
Говоря об этом, действительно странно, что иногда, если я печатаю данные + строку, строка отображается правильно, я не понимаю, что происходит. –