本文同样是一个 MVVM 架构的样例(使用 Driver)。主要演示的是输入内容的条件验证,以及验证结果与视图的绑定。 1,效果图 (1)这个是官方的演示样例(我稍作修改),主要用来模拟用户注册流程。 (2)默认“注册”按钮不可用,只有用户名、密码、再次输入密码三者都符合如下条件时才可用......
本文演示的样例效果同前文是一样的,都是做一个 GitHub 资源搜索功能。只不过前面 ViewModel 里的输入输出使用是普通的 Observable 序列,这次我们改用 Driver 这个特征序列。 四、一个使用 Driver 的 MVVM 样例 1,效果图 (1)当我们在表格上方的搜索框中输入文字时......
三、一个使用 Observable 的 MVVM 样例 1,效果图 (1)当我们在表格上方的搜索框中输入文字时,会实时地去请求 GitHub 接口查询相匹配的资源库。 (2)数据返回后,将查询结果数量显示在导航栏标题上,同时把匹配度最高的资源条目显示显示在表格中......
RxSwift 结合 MVVM 简直太合适不过了,或者说 RxSwift 就是为 MVVM 而生。在演示 MVVM 架构样例之前,我先简单地介绍下 MVVM 的一些基本概念,并与传统的 MVC 架构做个比较。 一、MVC 架构 1,基本介绍 (1)MVC 是 Model-View-Controller 的缩写。它主要有如下三层结构......
前面介绍的 MBProgressHUD 是使用 Objective-C 编写的,接下来我再介绍另一个 Swift 版本的 HUD 库:SwiftNotice。 一、SwiftNotice 1,基本介绍 (1)SwiftNotice 是一个使用纯 Swift 写的 HUD 库,该库提供多种类型的弹出窗口。 (2)同时 SwiftNotice 可完美适配各种滚动视图......
JSONPlaceholder 是一个提供免费的在线 REST API 的网站,我们在开发时可以使用它提供的 url 地址测试下网络请求以及请求参数。或者当我们程序需要获取一些假数据、假图片时也可以使用它。 其返回的数据为 JSON 格式,且同时支持 HTTP 和 HTTPS 这两种请求类型......
六、扩展 MBProgressHUD,封装常用方法 通常情况下,提示信息无非就这几种类型:操作成功的提示、失败的提示、普通消息提示、等待提示。我们可以对 MBProgressHUD 做一个扩展,把这 4 种类型提示的方法封装起来,方便使用。 1,扩展 MBProgressHUD 这里我们对 MBProgressHUD 类进行扩展......
四、修改默认样式 1,设置遮罩的背景色 下面将提示框遮罩设置为黑色半透明(默认为透明的) //初始化HUD窗口,并置于当前的View当中显示 let hud = MBProgressHUD.showAdded......
在程序开发中,我们常常会根据不同情况显示一些透明指示层(HUD 窗口),比如:操作执行完毕后的提示框,请求数据时的 loading 视图等等。我们当然可以自己实现这些 HUD 窗口,但最方便的还是直接使用一些比较成熟的第三方库。首先要介绍的是一个名为 MBProgressHUD 的第三方 HUD 库......
三、将结果转为 JSON 对象 1,实现方法 (1)如果服务器返回的数据是 json 格式的话,直接通过 Moya 提供的 mapJSON 方法即可将其转成 JSON 对象。 注意:关于 DouBanProvider 里的具体内容,可以参考上文 (2)或者使用下面这种写法也是可以的......