我似乎找不到答案。这里也没有文档。也许我不确定我应该寻找什么?
unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;
据我了解,这些应该是“或”的逻辑按位运算符
在这种情况下如何工作?
最佳答案
像这样使用按位运算符是在一个称为位掩码的变量中设置多个布尔标志的方法
因此,如果
FlagA = 1 << 3; //binary = 1000
FlagB = 1 << 2; //binary = 0100
FlagC = 1 << 1; //binary = 0010
FlagD = 1 << 0; //binary = 0001
然后我开始
myFlag = FlagA | FlagC | FlagD;
它是或的
1000 |
0010 |
0001 =
1011
因此,在您的示例中,您将单位标记设置为小时,分钟,天和月
关于objective-c - 请解释一下NSDateComponents中按位运算符OR的用法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12002025/