私は、迅速なプロジェクトでObjctive-C静的ライブラリを使用する必要があります。それ以外はうまくいくが、このようにObjC-Cのヘッダファイルで定義されたNS_OPTIONS列挙、:すぐにObs-Cクラスで定義されたns_optionsの使用方法
#import <Foundation/Foundation.h>
typedef NS_OPTIONS(NSUInteger, MyOption) {
MyOptionNone = 0,
MyOptionTop = 1 << 0,
MyOptionLeft = 1 << 1,
MyOptionBottom = 1 << 2,
MyOptionRight = 1 << 3
};
@interface MyObjcClass : NSObject
@end
、その後.swiftファイルで、どのように私は、スイッチケースで、この列挙型を使用することができますか?
編集:私は私の迅速なクラスでMyOptionを使用 :
let option1:MyOption = .Top
let option2:MyOption = .Bottom
let value = option1 & option2
、私はコンパイルエラーを取得:
Binary operator '&' cannot be applied to two MyOption operands
この問題を解決する方法は?
こんにちは、ロブ、私はこれを知っているが、私は、スイッチケースにMyOptionを使用したい場合は? "case .Top"はコンパイルエラーを引き起こします:MyOption型にEnum case "Top"が見つかりません – SomnusLee
スイッチケースで使用すると意味がありません。なぜなら、MyOption値には複数のオプションが含まれている可能性があるからです。 '.Top'と' .Bottom'の両方を含んでいるかもしれないので、複数のケースにマッチする必要があり、Swift switch文はそれを行うことができません。 options.contains(.Bottom){...} 'なら' if options.contains(.Top){...}を使うべきです。 –
さて、私は〜を参照してくださいThx – SomnusLee