【问题标题】:How to store days of the week in Core Data?如何在 Core Data 中存储星期几?
【发布时间】:2013-11-08 16:26:01
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

    标签: ios objective-c cocoa-touch core-data


    【解决方案1】:

    您有很多选择。您可以使用 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 的表。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-11-22
        • 2016-09-09
        • 1970-01-01
        • 1970-01-01
        • 2021-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多