我正在阅读 Apple 关于 NSDate 的文档。在他们的一个代码示例中,我看到了我以前从未见过的东西: doc link。这是示例代码。
NSDate *startDate = ...;
NSDate *endDate = ...;
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags
fromDate:startDate
toDate:endDate options:0];
NSInteger months = [components month];
NSInteger days = [components day];
我对 (OR) | 的使用感到非常困惑 将值分配给 unitFlags 时的运算符。有人能告诉我那里发生了什么吗?他们都被分配还是先检查,如果 nil 寻找另一个?先感谢您。