【问题标题】:Search for the index of a Core Data array that contains a certain date attribute搜索包含某个日期属性的 Core Data 数组的索引
【发布时间】:2016-07-03 00:28:40
【问题描述】:

我一直在网上四处寻找,似乎无法得到一个可靠的答案。如果我有一个具有多个属性的事件存储在一个数组中的 Core Data 中,我可以在 tableView 中显示所有这些单独的事件。可以说其中一个属性是日期。是否可以搜索包含特定日期的所有事件并仅显示 tableView 中的事件?我正在考虑使用我在网上看到的 NSPredicate ,但我对此并不熟悉。也许以某种方式找到包含该日期的事件的索引并仅显示该索引?有什么想法吗?

【问题讨论】:

    标签: ios swift swift2 nsdate xcode7


    【解决方案1】:

    表视图旨在实现与底层数据数组的一对一关系。通常的方法是使用 fetchRequest 仅获取您想要显示的数据(我个人喜欢在数据模型中预定义所有请求,以便跟踪数据的访问方式)。
    但是,如果您的托管记录数组必须包含比您想要显示的更多的元素,您应该考虑将您的 tableView 数据源响应基于只包含(或引用)您想要显示的对象的中间数组。

    例如:

     let allEvents:[EventRecord] = GetAllEvents()
     var filteredEvents:[EventRecord] = allEvents.filter({ $0.eventDate.isEqualToDate(dateToDisplay) })
    

    并使用过滤事件作为数据源的基础存储。

    这将使动态更改过滤条件和重新加载 tableview 变得容易,而不必为每个过滤器更改返回数据库。

    【讨论】:

    • 看起来不错,等我回到我的电脑前,我会努力实现你所说的。感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多