0
我試圖在swift中實現PeerTalk框架。 獲取這類當MAC是給我的數據: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
檢查將做到:PTData
類型的
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)
}
有效載荷的存在!如前所述。 無我試過的方法,努力讓我的字符串返回,我得到這個:
數據接收
可選()
任何想法?
的問題是不是這裏的optionnal但事實optionnal是空的,而不是零,但與實際上沒有數據。 –
您是否檢查過「payload.dispatchData」的內容? – AncAinu
說到這一點,真的很奇怪的是,有時,如果我打印數據+字符串,字符串顯示正確,我不明白髮生了什麼。 –