[英]EKRecurrenceRule for working days in a week
我正在創建具有將事件添加到iPhone日歷的功能的簡單應用程序。 所以我在玩EKEvent的recurrenceRule。 有一個帶有很長構造函數的EKRecurrenceRule類:
(id)initRecurrenceWithFrequency:(EKRecurrenceFrequency)
typeinterval:(NSInteger)interval
daysOfTheWeek:(NSArray *)days
daysOfTheMonth:(NSArray *)monthDays
monthsOfTheYear:(NSArray *)months
weeksOfTheYear:(NSArray *)weeksOfTheYear
daysOfTheYear:(NSArray*)daysOfTheYear
setPositions:(NSArray *)setPositions
end:(EKRecurrenceEnd*)end
因此,例如,如果我嘗試創建一個將在一周中的每個工作日(星期日除外)重復的事件,則將使用此init:
initRecurrenceWithFrequency:EKRecurrenceFrequencyDaily
interval:1
daysOfTheWeek:[NSArray arrayWithObjects:
[EKRecurrenceDayOfWeek dayOfWeek:2],
[EKRecurrenceDayOfWeek dayOfWeek:3],
[EKRecurrenceDayOfWeek dayOfWeek:4],
[EKRecurrenceDayOfWeek dayOfWeek:5],
[EKRecurrenceDayOfWeek dayOfWeek:6],
[EKRecurrenceDayOfWeek dayOfWeek:7], nil]
daysOfTheMonth:nil
monthsOfTheYear:nil
weeksOfTheYear:nil
daysOfTheYear:nil
setPositions:nil
end:nil
但它不起作用,它每天重復一次事件:S當我嘗試使用EKRecurrenceFrequencyMonthly時,它可以工作。 它每月重復一次活動,但周日不重復。 我向Apple報告了錯誤,因為似乎他們有錯誤。
還是您有其他想法?
“星期幾。對於每日重復規則以外的所有重復規則,您可以提供一個EKRecurrenceDayOfWeek對象數組,該數組指示事件發生在一周中的星期幾。例如,您可以提供一個包含EKRecurrenceDayOfWeek對象的數組,該對象的日期為EKTuesday和EKFriday的周值來創建每周二和周五發生的重復。”
換句話說,您要使用的是星期一至星期五,然后每周重復一次。 每天重復周一至周五毫無意義。
initRecurrenceWithFrequency:EKRecurrenceFrequencyDaily
interval:1
daysOfTheWeek:[NSArray arrayWithObjects:
[EKRecurrenceDayOfWeek dayOfWeek:2],
[EKRecurrenceDayOfWeek dayOfWeek:3],
[EKRecurrenceDayOfWeek dayOfWeek:4],
[EKRecurrenceDayOfWeek dayOfWeek:5],
[EKRecurrenceDayOfWeek dayOfWeek:6],
[EKRecurrenceDayOfWeek dayOfWeek:7], nil]
daysOfTheMonth:nil
monthsOfTheYear:nil
weeksOfTheYear:nil
daysOfTheYear:nil
setPositions:nil
end:nil
在此代碼中,您EKRecurrenceFrequencyDaily
使用EKRecurrenceFrequencyDaily
並再次指定一周中的幾天。 而不是嘗試使用EKRecurrenceFrequencyWeekly
執行
EKRecurrenceDayOfWeek *weekReferecne=[[EKRecurrenceDayOfWeek alloc]initWithDayOfTheWeek:2 weekNumber:0];
並創建第0周(零)的EKRecurrenceDayOfWeek
對象,以便EKAlarm每天重復一次,直到您指定結束日期為止。此代碼有效。 祝您編碼愉快
蘋果文檔說:
@method initRecurrenceWithFrequency:interval:daysOfTheWeek:daysOfTheMonth:monthsOfTheYear:weeksOfTheYear:daysOfTheYear:setPositions:end:
@abstract指定的初始化程序。
@discussion這可用於構建任何種類的重復規則。 但是請注意, 某些組合沒有意義 ,將被忽略。 例如, 如果您通過daysOfTheWeek進行每日重復,則將忽略它們 。
我認為,我們不能每天都說,而不能在星期天說。 如果我弄錯了,請告訴我。
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.