2013-04-30 86 views
0

在我的应用程序中,我想让用户设置日期的显示样式。我考虑过修改unitFlags来达到这个目的。我的意思是NSCalendarUnit - 修改单位标志

NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSDayCalendarUnit; 

但这里有一个问题:如何添加或删除NSCalendarUnit这个整数

我使用NSCalendar从日期获得NSDateComponents

很抱歉,如果这个问题是太傻了,我没有足够的有工作位运算:(

回答

5

我不知道如果这是你在找什么,但你可以使用 添加标记“按位或”操作符:

unitFlags |= NSYearCalendarUnit; 

并使用删除标记‘按位和’与......组合‘按位求补’;

unitFlags &= ~NSYearCalendarUnit; 

要检查的标记:

if ((unitFlags & NSYearCalendarUnit) != 0) { 
    // NSYearCalendarUnit is set 
} else { 
    // NSYearCalendarUnit is not set 
} 
+0

感谢您的回答,这是我需要的。顺便问一下,有没有办法检查unitFlags中是否有日历单元?或者让变量中的所有单位? – Randex 2013-04-30 18:55:24

+0

@Randex:看到更新的答案,我希望有帮助! – 2013-04-30 18:58:12

+0

它似乎可以正常工作。感谢您的帮助 :) – Randex 2013-05-01 06:53:39