首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Jep
掘友等级
iOS开发实习生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
28
文章 23
沸点 5
赞
28
返回
|
搜索文章
赞
文章( 23 )
沸点( 5 )
TMCache源码分析(一)---TMMemoryCache内存缓存
复用数据,避免重复计算. 缓解服务端压力. 提高用户体验,比如离线浏览, 节省流量等等. 目前 gitHub 上开源了很多缓存框架, 著名的 TMCache, PINCache, YYCache等, 接下来我会逐一分析他们的源码实现, 对比它们的优缺点. TMCache, PI…
可能是 GitHub 上第一款 Vue 全家桶 + TypeScript 的完整项目
基于Vue.js的2.5.13版本和TypeScript编写的模仿原生应用的WebApp. 建议直接添加到主屏幕(ios端体验差一些). 学习vue全家桶,本人很长一段时间在用React。 利用PWA技术来模仿原生应用,来探究PWA与原生的差异。 作者声称2.5之后vue增强了…
iOS关于换肤和夜间模式的一些思考
好久没写文章了,正好最近在研究换肤,所以将最近的心得和体会与大家分享一下。 方式一:通过给 Category 添加属性的方式实现换肤,有一个 Manager 用以管理颜色和图片,当主题改变时,通过发出通知告诉 UIKit 中的相关类,该改变视图颜色了,这时视图就会根据 Mana…
[译] 构建、测试、分发!运用 Fastlane 与 Jenkins,完整的 iOS 持续交付指南
iOS/macOS 真的很有趣。 你可以在很多领域获得知识!你可能会了解 Bezier 或 3D 变换等图形技术。你也需要了解如何使用数据库、设计高效的架构。此外,你应该掌握嵌入式系统的内存管理方式(特别是那些处于 MRC 时代的人)。所有这些使得 iOS/macOS 的开发如…
iOS开发·KVO用法,原理与底层实现: runtime模拟实现KVO监听机制(Blcok及Delgate方式)
1. KVO理论基础 KVO 是 Objective-C 对 观察者模式(Observer Pattern)的实现。当被观察对象的某个属性发生更改时,观察者对象会获得通知。有意思的是,你不需要给被观察的对象添加任何额外代码,就能使用 KVO 。这是怎么做到的? KVO 的实现也…
iOS优秀的博客推荐
在知识爆炸的时代,很多非常棒的博客总是不能被别人发现。酒香不怕巷子深这种思想在互联网时代已经不能适应,一个好的产品需要推广,一篇好的文章也需要推广,没有推广也许阅读只能停留在1。而有些作者有非常棒的文章,却没有好的宣传渠道;有些读者想了解比较好的博客,却不知道从那里获取。所以,…
iOS底层原理总结 - Category的本质
Category的实现原理,以及Category为什么只能加方法不能加属性。 load、initialize的区别,以及它们在category重写的时候的调用的次序。 首先我们写一段简单的代码,之后的分析都基于这段代码。 我们之前讲到过实例对象的isa指针指向类对象,类对象的i…
iOS开发·runtime原理与实践: 方法交换篇(Method Swizzling)(iOS“黑魔法”,埋点统计,禁止UI控件连续点击,防奔溃处理)
1. 原理与注意 Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们可以将Method Swizzling代码写到任何地方,但是只有在这段Method Swilzzling代码执行完毕之后互换才起作用。 先给要替换的方法的类添加一个…
有赞跨平台长连接组件设计及可插拔改造
我们在提出开发跨平台组件之前, iOS 和 Android 客户端分别使用一套长连接组件,需要双倍的人力开发和维护;在产品需求调整上,为了在实现细节上保持一致性也具有一定的难度;Web 端与客户端长连接的形式不同,前者使用 WebSocket ,后者使用 Socket ,无形中…
使用 libffi 实现 AOP
众所周知,使用runtime的提供的接口,我们可以设定原方法的IMP,或交换原方法和目标方法的IMP,以完全代替原方法的实现,或为原实现前后相当于加一段额外的代码。 使用知名的AOP库 Aspects ,可以更便捷地为原方法实现前后增加(代替)额外的执行。 另外,Aspects…
下一页
个人成就
文章被阅读
927
掘力值
17
关注了
17
关注者
0
收藏集
2
关注标签
16
加入于
2018-03-26