2013-04-30 91 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