【发布时间】:2013-02-18 12:08:19
【问题描述】:
我可以在 Apple 的文档中看到枚举有时是这样定义的
enum {
UICollectionViewScrollPositionTop = 1 << 0,
UICollectionViewScrollPositionBottom = 1 << 1
}
【问题讨论】:
-
虽然每个人都解释了它在技术上是什么以及它的作用,但我将尝试对其进行解释。以
4 bits为例,它的位值可以在0000和1111之间。您可以将其视为开关,它们是on (1)或off (0)。要切换第三个开关(从右到左),您必须将1和shift向左移两步。请记住,每个"flag"应该(在大多数情况下)只切换一个开关,所以1<<1 == 1, 1<<2 == 2, 1<<3 == 4,所以不要在其中放置MyVar = 3之类的标志,因为3是0011位明智,切换两个开关.
标签: objective-c c typedef enumeration