iOS面试题14-内存管理的相关内容

2022-06-05

问题: 简述一下内存的几大区域?iOS的内存分布如下图所示 .主要分为代码段代码段主要存储编译后的代码数据段字符串常量初始化完成的全局变量和静态变量未初始化的全局变量和静态变量堆区内存地址分配由低到高通过 alloc malloc calloc 进行内存分配栈区内存地址分配由高到底函数调用开销,比如

0 条评论
226 热度

iOS面试题13-多线程的相关内容

2022-06-05

问题: 简述一下多线程的相关内容.回答目录:线程与进程.多线程的方案.同步、异步、串行、并发.死锁.GCD队列组.OSSpinLock.os_unfair_lock.pthread_mutex.递归锁.NSLock、NSRecursiveLock.NSCondition.NSConditionLoc

0 条评论
259 热度

iOS面试题12-RunLoop的相关内容

2022-06-05

问题: 简述一下RunLoop 的相关内容.回答目录:基本作用.RunLoop与线程.RunLoop的底层结构.RunLoop的常用Mode.RunLoop的流程.RunLoop的主要应用.本问题回答基于 CF-1153.18 版本.RunLoop基本作用:保证程序的持续运行处理App中得各种事件(

0 条评论
251 热度

iOS面试题11-Method调用的相关

2022-06-05

问题: 简述一下method的内部结构.注: 本问题回答基于 objc4-818.2版本类/对象方法底层存储的结构体是 method_t, method_t主要含有三个成员变量.SEL 类型的 name;char * 类型的 type;IMP 类型的 imp;在 818.2版本中有 big smal

0 条评论
237 热度

iOS面试题10-block的内容相关

2022-06-05

问题: 阐述一下你所了解的block所有相关内容.block的本质block的分类以及copy情况block的变量捕获block中 auto变量的强弱引用问题__block的作用以及实现原理block中的循环引用问题.问题: 讲一下block的本质.block的本质是OC对象.它的底层结构中也含有i

0 条评论
192 热度

iOS面试题09-关联对象的内容相关

2022-06-05

问题: Category可以添加属性吗?Category是可以直接添加属性, 因为 category_t 是含有 propert_list_t 类型的 properties 的成员变量结构的.但是 Category 添加属性的本质 实际上只是添加的 Set方法 和 Get方法 的 声明,并未实质上添

0 条评论
215 热度

iOS面试题08-load、initialize的内容相关

2022-06-05

问题: 简述一下load的调用时机以及调用顺序.注: 本问题回答基于 objc4-818.2 版本.load 方法是runtime在加载类、分类时自动调用的方法.关于 load 方法的调用顺序主要有以下三点.两个类没有继承关系或者是 所有的Category,那么load的调用顺序与 Compile

0 条评论
163 热度

iOS面试题07-Category的内容相关

2022-06-05

问题: 讲一下 Category 的实现原理?注: 本问题回答基于 objc4-818.2 版本.Category在运行时将 实例方法/类方法 动态的注入到 类对象/元类对象 中.Category 在编译过程中会形成如下所示的 _category_t 结构体. 主要包含一下内容._method_li

0 条评论
148 热度

iOS面试题06-KVC内容相关

2022-06-05

问题: 讲一下KVC赋值的具体过程.外部通过调用 setValue: ForKey: 方法.首先先判断是否有属性的Set方法 setKey: 或者 _setKey: ,如果有,则直接调用方法传入参数.如果没有 setKey: 或者 _setKey:,则会调用 accessInstanceVariab

0 条评论
172 热度

iOS面试题05-KVO的实现过程

2022-06-05

问题: KVO的本质是什么?问题: iOS是如何实现对一个对象的KVO?当在iOS中对一个对象添加KVO时,实际上runtime会在原来的类基础上生成一个派生类 NSKVONotifying_xxx , 该类中重写了监听属性的set方法.在Set方法中调用了Foundation框架中 _NSSetI

0 条评论
156 热度