在我的应用中,我想让用户设置日期的显示样式。我考虑过只修改unitFlags
来实现这一点。我是说这个
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSDayCalendarUnit;
但问题是:如何在此整数中添加或删除NSCalendarUnit
?
我正在使用NSCalendar
从日期中获取NSDateComponents
。
很抱歉,如果这个问题太愚蠢,我的按位操作就不够了:(
答案 0 :(得分:5)
我不确定这是否是您要找的,但您可以使用该标志添加标记 “按位或”运算符:
unitFlags |= NSYearCalendarUnit;
并使用“按位和”与“按位补码”组合删除标志;
unitFlags &= ~NSYearCalendarUnit;
检查标志:
if ((unitFlags & NSYearCalendarUnit) != 0) {
// NSYearCalendarUnit is set
} else {
// NSYearCalendarUnit is not set
}