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
说到这一点,真的很奇怪的是,有时,如果我打印数据+字符串,字符串显示正确,我不明白发生了什么。 –