【发布时间】:2012-08-13 01:08:04
【问题描述】:
我正在阅读 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 寻找另一个?提前谢谢你。
【问题讨论】:
标签: objective-c integer bit-manipulation