【问题标题】:What's the equivalent of Objective-C's NSData.length with Swift's Data?Objective-C 的 NSData.length 与 Swift 的数据等价于什么?
【发布时间】:2017-10-29 01:48:07
【问题描述】:

我正在做一些 CoreBluetooth 教程并得到了这个 obj-c 代码:

if (request.offset > myCharacteristic.value.length) {
   // stuff
}

value 的类型为 NSData。由于我的代码在 Swift 3 中,因此 value 的类型为 Data。但是,Data 对象没有length 属性。你知道 Swift 中的等价物是什么吗?

【问题讨论】:

    标签: ios swift core-bluetooth


    【解决方案1】:
    【解决方案2】:

    应该使用属性.isEmpty

    虽然 .count 在 Swift 中替换了 .length,但如果您只想知道 .count == 0 是否有效,则效率很低。

    使用 .count 将循环遍历整个集合,而 '.isEmpty' 将在一个之后停止。

    另外,'.isEmpty' 返回一个更易于阅读和理解的 Bool...

    if data.count == 0 {

    if data.isEmpty {

    https://developer.apple.com/documentation/foundation/data/1780284-isempty

    【讨论】:

      猜你喜欢
      • 2014-07-25
      • 2014-07-28
      • 2023-03-18
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多