打造完备的 iOS 组件化方案:如何面向接口进行模块解耦? 关于组件化的探讨已经有不少了,在之前的文章iOS VIPER架构实践(三):面向接口的路由设计中,综合比较了各种方...
打造完备的 iOS 组件化方案:如何面向接口进行模块解耦? 关于组件化的探讨已经有不少了,在之前的文章iOS VIPER架构实践(三):面向接口的路由设计中,综合比较了各种方...
版本:iOS13.6 一、简介 通常调用方法的方式是使用[实例 方法名]或[实例 方法名:参数] 若该方法没有公开,可以使用NSObject的performSelector方...
第一部分https://juejin.cn/post/6854573212165111822[https://juejin.cn/post/68545732121651118...
Model-View-ViewModel(简称MVVM)是一种结构设计模式(structural design pattern),将对象分成三个不同的组: Models:持有...
Homebrew安装和使用看我就可以了 默认官方的更新源都是存放在**GitHub**上的,这也是中国大陆用户访问缓慢的原因,一般来说我们会更倾向选择国内提供的更新源,在此推...
大部分内容来自于《大话数据结构》,代码全部使用Swift实现。至于为什么抽风写这个?😊你懂的。 1.线性表 线性表:零个或者多个数据元素的有限序列。 性质: 数据元素可以为空...
前言 常见使用场景动态改变方法的执行体Method SwizzlingNSSelectorFromString,NSClassFromString…动态添加属性(主要是类别)...
已更新深入浅出Runtime (二) Runtime的消息机制深入浅出Runtime (三) Runtime的消息转发深入浅出Runtime (四) Runtime的实际应用...
通过前面的知识, Block语法执行时, Block底层会转化成Block的结构体类型的自动变量存储在栈上, 在__block变量初始化时, 会转化成__block变量的结构...