我不确定这是如何工作的,但我想要的是类似于iPhone附带的Apple闹钟。它基本上只是让你选择一个闹钟的时间,命名闹钟,然后你可以选择你想要它重复的频率(周日 - 周六)。根据您的选择,警报会一次或以一个重复的间隔触发。
在我的核心数据模型中,我不确定如何对其进行建模。如果我只考虑普通的旧对象,我会认为我会有一些报警对象,其中一个属性就是一个数组。在那个数组中,我可以得到Sunday-Sautrday的日值。然后,当创建一个新的警报对象时,我会根据所选时间和所选日期安排UILocalNotification。要根据数据库对象对其进行建模,我不确定我应该做什么。我想的是:
闹钟 - (姓名/字符串) 日 - (星期日 - 星期六/由整数0-6表示,从闹钟到日期的1到多个关系)
假设在数据库中没问题,那么我不确定如何安排UILocalNotifications,因为我认为每个应用只能有64个。我想我可以有一些机制来安排前64个警报,然后当应用程序打开时,它将重新安排下一个即将发生的64个事件。我会这样做吗?感谢。
答案 0 :(得分:0)
使用2个实体是过度的。我只有Alarm
实体并且在其上有一个整数属性来保存警报天数。在实体之外,我将有一个枚举,它定义了如何解释警报天数。类似的东西:
typedef AlarmDays {
Monday = 0,
Tuesday = 1 << 0,
Wednesday = 1 << 1,
Thursday = 1 << 2,
Friday = 1 << 3,
Saturday = 1 << 4,
Sunday = 1 << 5
} AlarmDays;
然后你可以测试它应该使用的日期:
if (alarm.alarmDays & Monday) {
// the alarm should fire on mondays
}
您可以使用UILocalNotification
的功能,例如repeatInterval
,这样您就不需要向系统明确添加大量通知。