我想实现 可以 传入 多参数枚举值的方法,例如,请教一下,方法里面的逻辑判断
コードに示されている UIRectCornerTopLeft と UIRectCornerTopRight は実際には列挙ではなく、bitmask の定義は次のとおりです。 リーリー 按位掩码(bitmask),它的定义如下所示:
bitmask
按位掩码(bitmask)
typedef NS_OPTIONS(NSUInteger, UIRectCorner) { UIRectCornerTopLeft = 1 << 0, UIRectCornerTopRight = 1 << 1, UIRectCornerBottomLeft = 1 << 2, UIRectCornerBottomRight = 1 << 3, UIRectCornerAllCorners = ~0UL };
按位掩码(NS_OPTIONS)的语法和枚举(NS_ENUM)相同,但编译器会将它的值通过位掩码 | 组合在一起。
|
比如对于上面的 UIRectCorner 这个 NS_OPTIONS,按照你的代码,你传入的是 UIRectCornerTopLeft | UIRectCornerTopRight ビットごとのマスク (NS_OPTIONS) の構文は列挙 (NS_ENUM) の構文と同じですが、コンパイラーはビットマスク | を通じてその値を結合します。
UIRectCornerTopLeft | UIRectCornerTopRight
UIRectCornerTopLeft
コードに示されている UIRectCornerTopLeft と UIRectCornerTopRight は実際には列挙ではなく、
bitmask
の定義は次のとおりです。 リーリー按位掩码(bitmask)
,它的定义如下所示:按位掩码(NS_OPTIONS)的语法和枚举(NS_ENUM)相同,但编译器会将它的值通过位掩码
|
组合在一起。编辑:
比如对于上面的 UIRectCorner 这个 NS_OPTIONS,按照你的代码,你传入的是
UIRectCornerTopLeft | UIRectCornerTopRight
ビットごとのマスク (NS_OPTIONS) の構文は列挙 (NS_ENUM) の構文と同じですが、コンパイラーはビットマスク|
を通じてその値を結合します。編集:
🎜たとえば、上記の UIRectCorner の NS_OPTIONS の場合、コードによれば、渡すのはUIRectCornerTopLeft
であり、処理コードはおおよそ次のようになります。 リーリー