我正在做一些CoreBluetooth教程,并得到了这个obj-c代码:
if (request.offset > myCharacteristic.value.length) {
// stuff
}
value
的类型为NSData
。由于我的代码在Swift 3中,因此值为Data
。但是,Data
对象没有属性length
。你知道Swift中的等价物吗?
答案 0 :(得分:5)
答案 1 :(得分:2)
应使用属性.isEmpty
在Swift中.count
替换了.length
时,如果您只想做.count == 0
,效率低下。
使用.count
将循环遍历整个集合,而'.isEmpty'将在一个集合后停止。
'。isEmpty'还返回一个布尔值,它更易于阅读和理解...
if data.count == 0 {
vs
if data.isEmpty {
https://developer.apple.com/documentation/foundation/data/1780284-isempty