1

我正在开发一个使用警报来通知用户事件的应用程序,我需要让用户选择应该应用警报的日期。为此,我为用户提供了 7 个复选框(每天一个),并且我已经确定这些复选框将链接到布尔值,但是我不知道应该如何存储它们。

我正在使用核心数据来存储这些警报。我原以为我可以使用数组,但是核心数据不允许我在数据模型中存储数组。

有什么想法吗?

4

2 回答 2

6

你有很多选择。您可以使用 7 位位域掩码,例如:

BOOL monday, tuesday, wednesday, thursday, friday, saturday, sunday;
int bitmask = 0;
bitmask |= monday << 0;
bitmask |= tuesday << 1;
bitmask |= wednesday << 2;
bitmask |= thursday << 3;
bitmask |= friday << 4;
bitmask |= saturday << 5;
bitmask |= sunday << 6;

或者你可以只存储一个包含 7 个 BOOL 的表。

于 2013-11-08T16:36:05.000 回答
2

位掩码的想法非常聪明,但您也可以在工作日拥有一个实体。然后创建该实体的 7 个对象。如果需要,请在您的闹钟和那些工作日之间建立关系。这样做的好处是您可以定义反向关系并轻松查询在某个工作日响起的警报。

于 2013-11-10T15:45:04.043 回答