首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
小笼包包仔
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
如何优化tableView
1.cell 的行高不是固定值,需要计算,则要尽可能缓存行高值,避免重复计算行高。因为 heightForRowAtIndexPath:是调用最频繁的方法。 2.滑动时按需加载,这个在大量图片展示,网络加载的时候很管用!(SDWebImage 已经实现异 步加载,配合这条性能杠…
iOS架构实践干货:AOP替代基类 + MVVM + ReactiveObjC + JLRoutes组件化
对于第一点,从 集成成本 ,上手成本 ,__架构维护成本__等因素入手,大神博客中也已经很详细。 框架不需要通过继承即能够对ViewController进行统一配置。业务即使脱离环境,也能够跑完代码,ViewController一旦放入框架环境,不需要添加额外的或者只需添加少量…
Hook方法的新姿势--Stinger (使用libffi实现AOP )
众所周知,使用runtime的提供的接口,我们可以设定原方法的IMP,或交换原方法和目标方法的IMP,以完全代替原方法的实现,或为原实现前后相当于加一段额外的代码。 使用知名的AOP库 Aspects ,可以更便捷地为原方法实现前后增加(代替)额外的执行。 另外,Aspects…
KVO与Aspects共存研究
在对Obj进行先KVO再Hook其setter函数后,调用obj的setter函数崩溃。 反之,若先Hook再KVO,则正常运行。 1.先对比两种添加顺序,导致的obj的isa和函数列表的不同。 通过下面的函数打印出,当前的obj→isa 及其函数列表。 对比可以发现,如果先K…
【iOS】使用YYLabel+CADisplayLink实现文本首行缩进的动画效果
由于关注按钮点击后应该要有相应的状态更新,如果使用这种做法进行刷新,直接重新设置attributedText,这样虽然能达到目的,可是没有过渡,看上去很生硬,用户体验没那么好,我个人想要的效果是文字也能跟着控件一起过渡变化。 1. YYLabel - exclusionPath…
CFRunLoop的概念及使用
1. CFRunLoopSource 根据上面的执行结果,可见,对于Source0事件,我们必须调用CFRunLoopSourceSignal方法去标记为“待处理”事件,对于CFRunLoopWakeUp可以根据具体情况调用,如果当前RunLoop是处于运行状态,不调用也是OK…
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
阿里、字节:一套高效的iOS面试题
runtime是iOS开发最核心的知识了,如果下面的问题都解决了,那么对runtime的理解已经很深了。 准备面试是一方面,对于非面试的iOS开发者来说更适用于检验自己,发起进阶之路。另外知识点是琐碎的,但是真的能全部弄懂并把琐碎的知识点融会贯通,构建起自己的知识体系,你就升级…
iOS图片内存优化
基于现在iOS11新生成的图片都是HEIF,该图片使用UIImage(named: name)已不在那么优雅,图片大小为1.8m大小的,读进手机内存,直接飙升了45M,这是我们不想看到的结果,一个页面有多个这样子的图的话,恐怕就是灾难了。 这就要先了解该图片的编码了。 heic…
iOS 上的 FlexBox 布局
最近时不时的听到关于 FlexBox 的声音,除了在 Weex 以及 React Native 两个著名的跨平台项目里有用到 FlexBox 外,AsyncDisplayKit 也同样引入了 FlexBox 。 Frame,直接设置横纵坐标,并指定宽高。 Auto Layout…