【问题标题】:NSPlaceholders and SwiftNSPlaceholders 和 Swift
【发布时间】:2016-05-18 22:06:29
【问题描述】:

我正在查看数组控制器的.selection,我想知道选择是多个值还是没有。在 ObjC 中,我们将选择作为 id 并使用各种占位符标记检查它的原始相等性:NSMultipleValuesMarkerNSNoSelectionMarkerNSNotApplicableMarker

但这在 Swift 中不起作用:

    let currentValue = eventsArrayController.selection.valueForKey("enabled")

    if let markerVal = currentValue  {
        if markerVal == NSMultipleValuesMarker {
            // this doesn't compile, AnyObject's can't be compared with ==
        }
        switch markerVal {
            case NSNoValueMarker:
            // this doesn't compile, an AnyObject is not a valid pattern
        }
    }

如何在 Swift 中测试占位符标记的值?

【问题讨论】:

    标签: swift cocoa swift2 cocoa-bindings


    【解决方案1】:

    在 Swift 中,== 用于检查值是否相等(即,如果两个对象包含相同的数据,无论它们是否共享相同的内存位置)。使用=== 运算符检查引用是否相等(测试两个对象是否共享相同的内存位置)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-26
      • 2014-09-20
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多