2016-05-18 3 views
2

私はアレイコントローラの.selectionを見ています。選択肢が複数の値であるかどうかを知りたい場合は、 ObjCでは、選択範囲をidとし、さまざまなプレースホルダマーカーとの等価性を確認して、NSMultipleValuesMarker,NSNoSelectionMarker、およびNSNotApplicableMarkerというように選択します。NSPlaceholdersと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 
     } 
    } 

どのように私はスウィフトのプレースホルダマーカーの値をテストするのですか?スウィフト、==

答えて

2

は、(2つのオブジェクトは関係なく、同じメモリロケーションを共有するか否かの、同一のデータが含まれている場合には、である)値の等価性をチェックすることを意味します。 ===演算子を使用して、参照の等価性(2つのオブジェクトが同じメモリ位置を共有するかどうかをテストする)をチェックします。

+0

完璧、ありがとう! – iluvcapra