封装 moya 返回的服务器数据解析
iOS开发中简单界面用一个接口请求可能就达到效果了, 但是对于级联列表,或者表单这类界面, 一般都会有多个接口请求,而且会有 Post Get 上传等多项需求 .
封装 MapModel 方法
让每个网络请求都走这个通道统一返回处理后的json 结果
123456789101112// Send requestprovider.request(....
开发中如何用 Moya
一步一步的,从基础到优雅的使用
一般情况 , 写界面代码如下面
1234567891011121314151617181920212223242526 override func viewDidLoad() { super.viewDidLoad() setupUI() binding() } func setupUI() {...
Moya 解读通常Swift 使用的网络框架是 Alamofire, 对于一些网络请求的细节经常还要单独处理, 比较头疼.
Alamofire回顾一下 Alamofire 的网络请求方式:
123456789101112131415161. 带参数请求let parameters = ["foo": "bar"]// All three of th...
Moya 库基本使用忽略导入到项目步骤
官方模板
新建一个 MyService.swift 文件
新建MyService 枚举, 录入接口目标信息 ( 每个枚举就是一个接口名称 )
写下可能用到的信息作为枚举的一部分 ( 外部调用作为参数传进来 )
扩展 MyService, 遵守 TargetType 协议
实现 TargetType 协议 [ baseURL, path, met...
面相协议编程12345678910111213141516// 举一个例子protocol Drawing {mutating func addEllipse(rect: CGRect, fill: UIColor) // 添加椭圆mutating func addRectangle(rect: CGRect, fill: UIColor) // 添加长方形}exten...
泛型基本概念iOS 里泛型是 Swift 引入进来的, 可让你根据自定义的需求, 编写出适用于任意类型可复用的函数以及类型。
作用避免写重复代码, 而是用一种清晰抽象的方式来表达代码意图。
解决的问题例如: 任意两个相同类型的值,交换他俩的值。
Code
123456789101112131415161718192021222324252627282930313233343536373...
UIWindow简单介绍
UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow
iOS程序启动完毕后, 创建的第一个视图控件就是UIWindow ;
接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了.
一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow。也就说,没有UIWind...
UIResponder前言:app 与人进行交互,依赖各种事件
举一个例子☝️: 用户点击界面按钮,需要触发一个按钮点击事件,并进行相应的处理,以给用户一个响应.
UIView 的三大职责之一就是处理响应事件, 一个☝️视图是一个事件响应者,可以处理点击事件
这些事件就是在 UIResponder 类中定义的
一个UIResponder类为那些需要响应并处理事件的对象定义了一组接口。这...
Swift 怎么优雅使用 Reuseable Identifier
使用协议
使用结构体
由于苹果保准UITableView视图的性能,使用了cell重用机制,cell可以通过重用标识符(reusableIdentifier)进行复用,默认的注册cell和获取cell的方法中,需要传入一个字符串作重用标识符. 但这种方式很容易出错,而且使用起来也相当别扭 , 一种普遍的解决方式, 就是直...
代理 概念 一种通用的设计模式,在iOS中对代理设计模式支持的很好,有特定的语法来实现代理模式,OC语言可以通过@Protocol实现协议。
使用 iOS中一种消息传递的方式,可以通过这种方式来传递一些参数 .
代理的三部分组成:
协议: 指定双方(代理方,委托方)必须做什么❓
代理: 实现 委托方需要的帮助 😊 (根据指定的协议)
委托: 告诉代理我需要哪些...