随笔分类 -  面试题

摘要:前言 之前的文章有说过 原子操作的原理,其作为一个特殊的修饰前缀,影响了存取操作。 在属性修饰定义中,还有另一类修饰前缀,他们分别是 `weak assign copy`,这些又有什么区别呢? 平时喜欢探究的同学,可能也见过 ,这个又是什么呢? 让我们从属性修饰入手,逐步揭开弱引用的面纱。 原理 属 阅读全文
posted @ 2019-12-09 17:18 Vanch 阅读(310) 评论(0) 推荐(0)
摘要:前言 绝大部分 程序员使用属性时,都不太关注一个特殊的修饰前缀,一般都无脑的使用其非默认缺省的状态,他就是 。 入门教程中一般都建议使用非原子操作,因为新手大部分操作都在主线程,用不到线程安全的特性,大量使用还会降低执行效率。 那他到底怎么实现线程安全的呢?使用了哪种技术呢? 原理 属性的实现 首先 阅读全文
posted @ 2018-12-28 17:54 Vanch 阅读(2870) 评论(0) 推荐(0)
摘要:介绍 KVO( )是一种监测对象属性值变化的观察者模式机制。其特点是无需事先修改被观察者代码,利用 实现运行中修改某一实例达到目的,保证了未侵入性。 A对象指定观察B对象的属性后,当属性发生变更,A对象会收到通知,获取变更前以及变更的状态,从而做进一步处理。 在实际生产环境中,多用于应用层观察模型层 阅读全文
posted @ 2018-10-15 22:52 Vanch 阅读(1071) 评论(0) 推荐(0)
摘要:介绍 关联对象(AssociatedObject)是Objective C 2.0运行时的一个特性,允许开发者对已经存在的类在扩展中添加自定义的属性。在实际生产过程中,比较常用的方式是给分类(Category)添加成员变量。 例子 通过实现代码可以稍微分析下, 拿着不变的指针地址(示例传入selec 阅读全文
posted @ 2018-09-29 18:02 Vanch 阅读(1615) 评论(0) 推荐(0)
摘要:什么是Category? Category是Objective C 2.0之后添加的语言特性,Category的主要作用是为已经存在的类添加方法,一般称为分类,文件名格式是"NSObject+A.h"。 从结构能看出分类可以扩展实例方法列表、类方法列表、协议列表,也支持扩展属性,但不支持扩展成员变量 阅读全文
posted @ 2018-09-17 15:28 Vanch 阅读(911) 评论(0) 推荐(0)
摘要:前言 本文借鉴整理了iOS高级开发常见的面试题,并且分博客一一分析,希望能和大家一起进步学习。 欢迎大家关注我的 "Github" 👏以及相关博客 "Github.io" "简书" 大家的鼓励是我前进的动力😄 iOS基础题 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的 阅读全文
posted @ 2018-09-14 15:38 Vanch 阅读(1343) 评论(1) 推荐(0)