ios – 来自UInt8的NSData
发布时间:2020-12-14 18:57:08 所属栏目:百科 来源:网络整理
导读:我最近在 swift中找到了一个源代码,我正在尝试将它转换为Objective-C.我无法理解的一件事是: var theData:UInt8!theData = 3;NSData(bytes: [theData] as [UInt8],length: 1) 任何人都可以帮助我使用Obj-C等效物吗? 为了给你一些上下文,我需要将UInt8作为U
我最近在
swift中找到了一个源代码,我正在尝试将它转换为Objective-C.我无法理解的一件事是:
var theData:UInt8! theData = 3; NSData(bytes: [theData] as [UInt8],length: 1) 任何人都可以帮助我使用Obj-C等效物吗? 为了给你一些上下文,我需要将UInt8作为UInt8发送到CoreBluetooth外设(CBPeripheral).浮点数或整数不起作用,因为数据类型太大. 解决方法
如果你写Swift代码稍微简单一点
var theData : UInt8 = 3 let data = NSData(bytes: &theData,length: 1) 那么将它转换为Objective-C是相对简单的: uint8_t theData = 3; NSData *data = [NSData dataWithBytes:&theData length:1]; 对于多个字节,您将使用数组 var theData : [UInt8] = [ 3,4,5 ] let data = NSData(bytes: &theData,length: theData.count) 转换为Objective-C as uint8_t theData[] = { 3,5 }; NSData *data = [NSData dataWithBytes:&theData length:sizeof(theData)]; (你可以在最后一个语句中省略address-of运算符, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |