看到这两句摸不着头脑了:
NSUInteger unitFlags =NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit |NSHourCalendarUnit|NSMinuteCalendarUnit;
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
这里的 '|' 难道是或者的意思?
这个运算是一种位运算,叫「位或」,即把每一位用或运算运算后得出结果。如
上面就是或运算,那么「位或」就可以这样(0b开头的数字指二进制表示的数):
所以可以看到,用「位或」可以用来把一些「1」合到一个数里面,那么这个数就可以用来传递配置了。比如:
当然,「位或」不仅仅有这种用法,仅针对楼主的提问,这里使用的就是这种用法。