阿神2017-05-02 09:21:11
コードに示されている UIRectCornerTopLeft と UIRectCornerTopRight は実際には列挙ではなく、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
であり、処理コードはおおよそ次のようになります。
リーリー