![](https://img-blog.csdnimg.cn/20200901155308947.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Swift
Swift技术
eeybee
这个作者很懒,什么都没留下…
展开
-
KakaJSON源码浅析(一)
目前github上比较常见的Swift版本JSON解析库有:ObjectMapper底层实现主要是通过运算符重载机制,需要手动对每一个属性写映射关系,比较繁琐。struct Temperature: Mappable { var celsius: Double? var fahrenheit: Double? init?(map: Map) { } mutating func mapping(map: Map) { celsius &原创 2020-11-11 16:20:35 · 662 阅读 · 0 评论 -
Alamofire从源码浅析2种不符合实际需求的参数格式总结
目前公司的Swift项目网络请求使用的是第三方开源库Alamofire,在使用的过程中有遇到过2种参数格式无法正确传递到后端的情况;1)参数包含空数组直接会被过滤删除掉2)参数包含二维数组会把二维数组转换为一维数组下面将结合Alamofire参数编码部分的源码来一步一步的分析为啥不满足这2种参数格式。1、首先看下实际结果这里有必要先说下测试接口使用 httpbin.org来进行测试的好处;因为它在被调用后可以返回服务端所接收到的所有参数;在我们这里仅仅调试参数,所以比使用抓包工具要更方便一些,原创 2020-10-21 00:32:15 · 364 阅读 · 0 评论 -
Swift库资源文件获取
库资源包括图片、xib、xib对应的图片、以及其它文件等。本文只分析总结获取图片资源文件中所遇到的坑;大致原理其实都是一样,当你真正理解了其中的原理再获取其它资源是一样的容易。我们制作的库有动态库、静态库之分;首先理解下:Bundle我们构建的app以及framework都是一个bundle,它又主要分为2种:1)Bundle.mainThe main bundle lets you access the resources in the same directory as the curren原创 2020-09-21 01:41:12 · 1030 阅读 · 0 评论 -
Swift静态Pod私有库踩坑
首先你应该掌握以下几点知识:1、动态库、静态库的区别,以及对应的架构合并、拆分。2、Xcode对应的workspace、project、target的关系。3、Pod依赖可以是源码、静态库(.a+framework)、动态库(framework)。4、源码依赖的情况下,Pod打包进宿主工程可以选择是全部静态库打包还是动态库打包,或者某个库单独设置。5、CocoaPods本地仓库缓存。以上只是大概列举了一部分比较重要的,其实这块涉及到的知识点非常之多,如果你仅仅是为了实现这些功能,而并没原创 2020-09-21 01:40:29 · 1025 阅读 · 1 评论 -
对Swift协议RawRepresentable的理解
前言对于枚举原始值,系统默认只能是字符串、整型、浮点型字面量,那么我们能不能增加其它类型呢?答案是可以的,通过协议RawRepresentable就可以实现正文首先定义一个枚举enum Terrain: String { case forest = "F" case mountain = "M" case water = "W"}1、RawRepresentable协议该协议定义了一个初始化构造器,当传入无效的原始值时构造器会返回nil;还定义了一个rawValue原创 2020-07-08 17:07:01 · 1445 阅读 · 0 评论 -
在Swift开发中关于Optionals你需要知道的5件事(译)
在Swift开发中关于Optionals你需要知道的5件事(译)Optionals是Swift的核心,并且在第一个版本中就已经存在;optional修饰的值允许我们在关注可能为nil值的时候书写整洁的代码。如果你刚开始接触Swift,那么你可能需要熟悉在属性中添加?的语法;只要你熟悉了这个语法你就可以从中受益,比如extensions。在Swift中什么是可选值?在我们深入了解option...原创 2019-11-16 23:50:47 · 579 阅读 · 0 评论