IT界无底坑洞栋主 欢迎加Q骚扰:676758285

  • 微信公众号
  • Posts

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

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

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

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

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

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

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

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

    iOS面试题06-KVC内容相关

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

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

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

    iOS面试题04-class类对象的底层结构

    问题: 简述iOS的 struct objc_class 的结构.问题: 简述iOS的 Class对象 的底层结构.注: 本问题回答基于 objc4-818.2 版本objc_class结构体继承于objc_object结构体,objc_object结构体有且只有一个isa指针.objc_class

    iOS面试题03-isa指针与superclass指针

    问题: 简述一下 isa指针 的底层结构.isa指针在arm32位直接存储的内容就是class或者meta-class地址信息.在arm32时代, isa指针就是一个内存地址, 但是在 arm64 架构下,isa是一个共用体.但isa指针在arm64位也就是armv8架构下需要做一次位运算 (&am

    iOS面试题02-iOS对象的本质

    问题: 简述一下iOS对象的分类iOS对象大致可以分为3类,分别是实例对象(instance-object)、类对象(class-object)、元类对象(meta-class-object).实例对象主要存储的是 isa指针、成员变量的值信息.类对象主要存储的内容含有 isa指针、supercla