首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
samstring
掘友等级
iOS,Flutter
获得徽章 7
动态
文章
专栏
沸点
收藏集
关注
作品
赞
36
文章 36
沸点 0
赞
36
返回
|
搜索文章
最新
热门
iOS-runtime
Runtime是一个运行时库,它提供对Objective-C语言的动态属性的支持。Runtime是一种程序在运行时候的机制,其中最主要的是消息机制。在objective-c中,消息是在程序运行的时候才绑定到方法实现的。 Class其实就是一个继承于objc_object结构体o…
iOS中的AOP(2)-SFAspect的实现原理
调用objc_msgSend()时会传入接受对象target和方法名称sel以及参数。在objc_msgSend函数回去查找方法缓存,看类的缓存是否存在方法sel对应的方法实现IMP。如果找不到,就会执行lookUpImpOrForward()方法去查找sel对应的IMP. 在…
iOS中的AOP(1)-介绍及应用
AOP,也就是面向切面编程,可以通过预编译方式或运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。 其实在服务端开发中,Spring以及Spring家族产品早已大杀四方,名扬天下。作为Spring 基石之一的AOP思想更是发光发热,在各种语言,各种平台上…
iOS组件化(四)-FBKVOController源码分析
在上一篇文章中,有用到FBKVOController去实现MVVM模式。现在来分析一下FBKVOController实现原理。 在我们平常使用KVO的时候,是直接通过对被监听添加一个监听者去实现的。但是在FBKVOController中是通过一个单例_FBKVOSharedCo…
iOS组件化(三)-添加服务层以及MVVM模式
因为模块间以URL方式调用,对象在模块间不能直接传递,只能通过以参数的形式传递,MGJRouter里面的参数可以以字典的形式存在。假设两个模块间需要传递用户信息,内容如下 在两个模块间传递,发送对象时就要把对象里面的值转化成以下内容,放到字典里面去。读取时候把字典里面的字段解析…
iOS组件化(二)-MGJRouter的使用和源码分析
对于前面的文章,我提及到了组件化其实就是对项目的拆分和组合。在iOS组件化(一)-利用CocoaPods拆分项目和私有化这篇文章提及到了怎么用CocoaPods进行拆分和私有化模块,那剩下的组合该怎么去做呢?方法其实有很多,在这里我选用了蘑菇街的MGJRouter去实现。下面给…
iOS组件化-前言
随着业务的发展,IT项目的体积变得越来越大,参与开发人员也会增多。开发过程中也会容易出现很多问题,像 项目体积过大造成编译速度变慢,影响开发效率。 不同业务模块的代码互相引用。当一个模块有业务需求需要修改时候,修改过程中可能导致另外一个业务模块的功能出错 没有清晰的项目结构,可…
个人成就
文章被点赞
82
文章被阅读
29,901
掘力值
751
关注了
13
关注者
78
收藏集
3
关注标签
3
加入于
2020-09-12