我面临一个简单的问题,但我已经找到了解决方案:)。
如果我们有这样的例子:
typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
还有这样的属性:
@property (nonatomic, assign) UIViewAutoresizing autoresizingMask;
还有这个:
self.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth ;
问题是:如何知道 autoresizingMask
属性中的项目数(UIViewAutoresizing
值)? (在我的例子中我有 2)
最佳答案
有一个__builtin_popcount
函数,它通常在大多数现代硬件上转换为一条指令。它基本上给出了整数中设置的位数。
关于objective-c - 计算按位值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23951318/