首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
小宝酱45647
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
Moya 代码阅读
Moya 是在 Alamofire 基础上的一个网络抽象层。简单的介绍可以移步对应的 Github 地址 因为库的整体结构是根据 POP 面向协议编程的思想,所以先来说几句 POP。 所谓协议,就是一组属性和/或方法的定义,而如果某个具体类型想要遵守一个协议,那它需要实现这个协…
23个经典设计模式的Swift实现
也就是工厂问题想解决的原始问题。 从代码和UML可以看出,为了得到产品A,调用者Client要同时依赖Product, ConcreteProductA和ConcreteProductB,并亲自写一个创建产品的方法。 每当需求新增一个产品,就要改动到调用方Client。如果这一…
我是如何让微博绿洲的启动速度提升30%的
绿洲iOS研发工程师,绿洲ID:收纳箱KeepFit。 0. 序言 启动是App给用户的第一印象,对用户体验至关重要。试想一个App需要启动5s以上,你还想用它么? 最初的工程肯定是没有这些问题的,但随着业务需求不断丰富,代码越来越多。如果放任不管的话,启动时间会不断上涨,最后…
利用isa-swizzling hook UITableViewCell的点击事件
最近在做无痕埋点相关的事情,需要对用户的操作进行插桩进行上报,其他事件都还好说,cell点击事件遇到了点问题,最初的想法是hook UITableViewCell的setSelected(_ selected: Bool, animated: Bool)方法。 当某个类的属性被…
iOS一道复合型面试题与底层原理
0. 引言 我们常常吐槽面试的难度,甚至出现了 “面试造火箭,开发拧螺丝” 说法。作为客户端开发人员,面试直接让你现场手撸一个红黑树,难度是很大的,除非你专门准备过。 但常见的考点我们是需要知道的。有时考点可能被包装了一下,可能没法一下就看出来,但看破考点之后就会有恍然大悟的感…
实现一个简单可扩展的网络库
哈哈,其实在真正的项目中我还是推荐你使用知名的网络库,比如 Moya/Alamofire/AFNetworking 的,毕竟这些功能够强大,久经考验,代码优秀,非要说缺点可能就是略显臃肿,不方便用在SDK之中,并且对于后两者一般还要二次封装。这次要实现的就是够用够轻量够强大的网…
如何设计你的网络请求
几乎所有的项目都需要网络请求,因为他可以给用户呈现更加丰富的内容,方便我们在不同设备之间管理同步数据。网络请求会出现在你项目的各个地方:启动页,列表页,登录注册...所以如何管理组织网络请求是 App 架构中非常重要的一部分。Github 上也有类似的框架比如 Moya, 我们…
iOS开发老司机的神兵利器-效率工具
前言Mac常用的工具集iTerm2ssh工具shuttleuToolsPostmanMacDowntypora推荐的网页在线工具tinypngprocessoniOS开发工具集JSONConverte