swift思想借鉴
文章平均质量分 77
龚成诗
这个作者很懒,什么都没留下…
展开
-
一个对RxSwift集成思想的借鉴:KKReactors
使用KVO的痛点 视为一个iOS开发老司机,我在日常使用KVO过程中发现了KVO的一些不足: 1、调用复杂,算上调用者,总共涉及到5个参数 2、响应函数与调用地方分隔在不同的地方,阅读代码需要跳转 3、一个观察者观察了多个对象后,回调里不好区分究竟是哪个变量发生了回调 4、需要手动释放KVO,过多的调用removeObserver会导致闪退 5、对于极其频繁的变量变动,我们无法屏蔽一些过于密集的KVO调用 解决思路 鉴于KVO以上的种种缺点,我决定封装一个类,来简化KVO的使用: 下面罗列了以上5个痛点的解原创 2021-03-23 09:22:43 · 322 阅读 · 0 评论 -
如何优雅地给目标变量设置额外的变量
分类为啥不能添加成员变量? 先看Category的底层结构 struct _category_t { const char *name; struct _class_t *cls; const struct _method_list_t *instance_methods; // 对象方法列表 const struct _method_list_t *class_methods; // 类方法列表 const struct _protocol_list_t *protocols; // 协议列表 co原创 2021-03-06 15:29:14 · 180 阅读 · 0 评论 -
一个简单的适配器模式的运用——如何在Array中加入不同类型的对象
前言: swift中的枚举比OC功能强大多了,给我感触最深的是,swift中的枚举居然还可以带参数。于是我联想到了用带参数的枚举可以解决我们OC项目中的一些问题。 Swift 中如何在数组中装不同类型的元素 开发过程中,可能会遇到这种情况:希望往数组中存一些数据,这些数据可能有相同的一些特征点,但不是一个类型,甚至没有共同特征,只是想对它做统一处理逻辑,但数组又不能存不同类型的数据,这种情况怎么实现我们的需求呢? 先说第一类,有共同特征:第一想法是定一个协议,把数据归为一类,就能存进去了,但这样有点不方便,原创 2021-03-04 11:16:32 · 180 阅读 · 1 评论 -
一个简单的OC里的Tuple的实现
背景介绍: swift提供了一个简单易用的数据组合,元组,英文名叫做tuple。元组内的值可以是任意类型,并不要求是相同类型。一些非常简单的struct的可以用tuple来代替。 tuple的访问可以采用通过名字来获取这些元素的值,也可以通过索引来访问元素的值。非常的灵活、方便。 可惜OC里面不提供这样的语法。在参考了swift语法了,我在这里用数组的方式简单地在OC里实现了一下tuple 实现原理: 1、我用数组作为容器,我将各个值当做数组元素,存入这个数组。访问的时候通过下标就可以访问。 2、那么问题来原创 2021-02-25 19:57:36 · 422 阅读 · 0 评论