首页 > 2024年2月 第363页
设计一个更加 Swift 的 Notification 系统

设计一个更加 Swift 的 Notification 系统

image-20201027113428492.png 下一步 看到 notification.object 这个了没有, 实际上大部分系统通知这个 object 都是 nil, 包括我们自己写的通知大部分情况下都是没有的, 有没有办法在声明 Notificatable 的时候就过滤掉呢? 但是过滤...

GO的定时器Timer 和定时任务cron

GO的定时器Timer 和定时任务cron

image 上次我们说到了GO 中 swaggo 的应用,咱们来回顾一下 swaggo 是什么 swagger 是什么 如何使用 swaggo 如何测试 swaggo 要是对GO 中 swaggo 的应用还有点兴趣的话,可以查看文章 工作中后端是如何将API提供出去的?swaggo很不错 之后我们可...

iOS 启动优化-理论篇

iOS 启动优化-理论篇

main()函数启动分块.png t1阶段,main()之前的处理所需时间,称为pre-main t1阶段.png t2阶段,main()及main()之后处理所需时间 t2阶段耗时的主要是业务代码 推荐 BLStopwatch,这个工具可以打点统计业务耗时 本部分优化根据各自业务需求自行处理。 把...

如何判断一个变量是否为数组-前端面试题

如何判断一个变量是否为数组-前端面试题

image.png 可靠的检测数组的方式 1、利用object的tostring方法 var list = [1,2,3] console.log(Object.prototype.toString.call(list)); //[object Array] 2、利用ES6的Array.isArra...

iOS底层原理 16 :底层面试题

iOS底层原理 16 :底层面试题

3. Runtime是如何实现weak,为什么可以自动置为nil? 通过SideTable找到我们的weak_table weak_table根据referent找到或者创建weak_entry_t 然后append_referrer(entry,referrer)将我的新弱引用的对象加到entry...

U型咨询法

U型咨询法

...

swift上struct和class的区别

swift上struct和class的区别

image.png class声明对象时用的是let,但它能够修改class类里面变量的值是因为:let是定义为常量,那么对象对类的引用不可以改变,但还是可以修改类的值的 struct声明对象为var类型,因为struct是值类型,那么对象就类似于一个值,当要改变其内部的值时,var是可行的,let...

iOS 自定义左滑/侧滑删除,适配 iOS13 以上版本

iOS 自定义左滑/侧滑删除,适配 iOS13 以上版本

image 当时接到这个需求的时候也在网上查找了很多资料,非常感谢这篇文章带给我的灵感 iOS cell自定义左滑/侧滑删除(支持iOS11) 但iOS13 以上的系统左滑控件的层级以及类名都发生了变化,以前的方法明显不够用了,通过不断的断点分析,类名输出后终于正确的适配上了 iOS13,特在此记录...

atomic与线程安全

atomic与线程安全

atomic getter atomic setter 你会发现atomic属性的setter/getter方法都被加了spinlock自旋锁。但是,需要注意的是spinlock已经由于存在优先级反转问题被弃用并用os_unfair_lock替代。既然被弃用了,这里为什么还在用;原因是进入spinl...

KVO/KVC的底层原理和使用

KVO/KVC的底层原理和使用

添加监听的实例对象结构图 未添加监听的实例对象结构图 用途: 主要用于监听属性值的变化。可用于MVVM中 viewModel和View的交互。(请在评论区继续ADD...) 扩展: 动态创建类 动态创建类参数:父类,类名,额外的内存空间 Class objc_allocateClassPair(Cl...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片