代码之家  ›  专栏  ›  技术社区  ›  Maneesh M

Swift-计算属性与数据库操作

  •  0
  • Maneesh M  · 技术社区  · 4 年前

    我对swift中面向协议的编程非常陌生。我正在使用下载SDK开发OTT产品。我的代码中有一些东西。

    1. VODContent -&燃气轮机;表示vod的模型。
    2. OfflineMedia -&燃气轮机;协议。
    3. RLMOfflineMedia -&燃气轮机;要创建的领域数据库类 在SDK中存储VOD数据。

    视频内容 乳晕病 离线媒体 . 这样我就可以使用 离线媒体 作为介于两者之间的适配器 视频内容 乳晕病 extension 对于 执行数据库操作。它具有如下类似的结构。

    //RLMOfflineMedia+OfflineMedia.swift
    //which handles the DB operations related to RLMOfflineMedia
    
    extension  OfflineMedia {
     var realmObject: RLMOfflineMedia {
      return //check for an existing entry in database using primary key or  creates a new realm object and return it.
     }
    }
    

    在SDK中,我可以使用“离线媒体”轻松快速地管理数据库操作。“真实对象”或 self as? RLMOfflineMedia OfflineMedia.realmObject

    • 视频内容 (带着 二传手)。在执行数据库操作之前,先将获取的对象存储在此数据库中,然后再检查此对象是否为nil。(听起来
    • 创建用作数据库缓存的数组或集。

    注意:我假设数据库本身没有避免一次又一次获取相同内容的缓存机制。

    **更新:-** 添加有关的更多信息 , 离线媒体

    在这里 视频内容 表示从服务器解析为swift对象的对象。 是用作连接的网桥的协议 到SDK。通过确认 离线媒体 ,我可以获得在SDK中保存/处理数据所需的任何属性。这意味着我不会将视频资源作为 视频内容 离线媒体 (我认为这叫做依赖注入)。这是我用的 OfflineContent 作为调解人。内部SDK 离线媒体 代表 视频内容 我可以通过确认将其保存到DB 乳晕病 归类于 离线媒体 要执行不同的操作(例如:DB操作、下载视频资产等),只需将大部分业务逻辑写入其中即可 离线媒体 扩大

    0 回复  |  直到 4 年前