IOS在线听书 喜马拉雅SDK开发笔记(部分)

喜马拉雅IOS开发笔记

  1. 由于我的课程设计做的比较简单至少是现在做得计较简单, 现在我已经接入成功了,所以SDK接入教程可能会在后续做笔记

  2. 在官方给出的SDK中有一个demo使用OC写的,我们在demo中接入自己的开发者认证账号 运行项目
    在这里插入图片描述

运行结果如上, 似乎功能还很多 我们现在想要自己用storyborad+swift来写的话 就要查看源码

1. Viewcontroller

  1. 我们找到源码中 用OC写的Viewcontroller,并找到对应的代码

在这里插入图片描述

这是存储在数组中的字符串用于页面展示, 我们接着往下找

在这里插入图片描述

这里我们可以看到 demo中给出的参数字典包含了 四个键值对分别是

一、 params字典:

  1. category_id => 0 应该是分类id吧
  2. count => 20 应该是是接收数据
  3. page => 1 因该是页面数
  4. q => 思维 应该是搜索关键字了

二、 requestXmData => XMRqeType_SearchAlbums

这个参数是一个枚举类中的一个类别 具体的枚举类 在SDK中 Unity 包中的 XMSDKInfo 类中

这时我们一直藏在心底的疑问得到了解答,请求数据一般因该有一个接口呀,尽管我们把关键字这些封装在了字典里面,但是没有目标接口,SDK给我们的不是直接的接口而是枚举请求类型,

例如 XMRqeType_SearchAlbums 表示我们请求的数据是专辑列表,所以我们得到的数据将是专辑级别的数据

在这里插入图片描述

有请求的参数当然有返回值了

  1. result 应该就是返回值
  2. error 应该就是反馈的错误信息

接下来 程序进行了是否出错的判断 在这里我们先讨论没有出错的情况下

  1. 在没有出错的条件下 它调用了showReciveData方法(应该就是展示数据了)

  2. 这个方法有三个参数

    1. result 我们得到的反馈数据
    2. className => XMAlbum(专辑)
    3. valuePath => albums
    4. titleNeedShow => albumTitle

    对OC有一些认识的应该明白 参数给的是自己定死的字符串,并不是请求回传的数据里面的数

Viewcontroller 的 showReciveData 方法

接下来我们进入方法showReciveData

在这里插入图片描述

程序一开始就定义了一个可变数组NSMutableArray

NSMutableArray基本概念 - iFat - 博客园 (cnblogs.com)

第二行相当于通过字符串实体化一个类 (类似Java反射)

那么这个类在哪呢 传入的className 是 “XMAlbum”

在SDK中的model实体类中 有这个对象 在给出的开发者文档中也对这个类有阐述

在这里插入图片描述

好长的model

我们考虑不出错的境况下 进入语句

在这里插入图片描述

在这里插入图片描述

重点在这句, 我们将 result 就是我们得到的专辑级别的数据,与 dataClass(专辑实体类),数据进行一一映射,形成一个专辑类型的数组,可以说至此我们的数据从网络数据转化成了model(专辑实体类),这句程序我们后面还会再次提到,很神奇(我的OC没学好)

随后 在跳转页面之前 把model(专辑实体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值