实战 \ 面试提升必备 全面解析 iOS 中的 Runtime机制
收藏

全面解析iOS中的Runtime机制

四大企业级案例,10大面试必考题,挑战iOS高薪职业

面试提升必备 全面解析 iOS 中的 Runtime机制

难度 高级 ·
时长 17小时30分钟 ·
学习人数 9 ·
综合评分 10.00分
¥ 366.00

面试提升必备 全面解析 iOS 中的 Runtime机制

观看导学视频

面试提升必备 全面解析 iOS 中的 Runtime机制
Runtime课程从基础、进阶到运用三大部分进行讲解。从基础的C语言开始,循循渐进的讲解两大核心功能与常用API,并在实战案例场景中应用Runtime核心重难点,提升攻城狮的开发技能,开发出高性能的APP。并在最后讲解了iOS面试中必考的10道面试题,助同学们在求职面试中,高人一等,获得自己满意的offer。
逆风i

移动开发工程师

高薪iOS攻城狮必会的Runtime技术

系统学习,准确把握重难点,提升程序员自我修养
  • iOS领域核心技术点

    面试必问知识点
    解决复杂业务

  • Runtime系列知识

    基础知识
    进阶应用
    原理实战
    面试讲解

  • 从设计模式底层
    原理分析

    程序加载过程
    Category原理
    KVO原理

  • 看懂有名常用的
    三方库

    JSPatch
    MJExtension
    JSONModel

以C语言为入口,讲解Runtime两大核心功能及常用API

启发式教学,学不会都很难
  • 必备C知识

    指针介绍
    结构体介绍
    位运算
    宏定义

  • 类的本质

    Runtime介绍
    OC中的类结构
    Tagged Pointer 介绍
    isa_t介绍
    NSObject常用方法解析

  • 消息处理策略

    类方法和实例方法之间的区别
    objc_msgSend介绍
    消息发送流程
    直接跳过消息发送流程
    消息转发流程
    动态消息解析
    重定向
    转发
    模拟多继承

  • 常用API

    类objc_getClass
    类的名称class_getName
    变量列表class_copyIvarList
    属性列表class_copyPropertyList
    方法列表class_copyMethodList
    协议列表class_copyProtocolList
    动态添加变量class_addIvar
    动态添加方法class_addMethod
    动态交换方法method_exchangeImplementations

4大实际应用场景,全面解析iOS中的Runtime机制

从原理开始,攻克各种障碍,开发高性能App

1. Method Swizzling

通过分析Method Swizzling原理,然后封装自己的API,最后利用封装好的API处理数组越界。

2. 字典和模型的自动转换

如何把字典转换成对应的模型,针对常遇到的属性是另外一个对象或者数组的问题提出解决方案,封装一个字典自动转模型的高效API。

3. 自动归档和自动解档

如何利用Runtime API高效快速的自动对象归档和对象解档,并且利用前面所学的宏定义知识宏定义归档和解档代码。

4. 万能跳转界面方法

根据信息跳转到指定界面。信息可以是推送返回的,也可以是banner页返回的。指定的界面既有StoryBoard中已存在的,也有纯粹的Class文件,甚至不存在的界面也可以动态的创建出来。

十道经典的 Runtime 面试题目,让你轻松拿高薪offer

掌握 iOS 必问必考面试题,入职快人一步

类的初始化方法alloc+init与new区别?

Runtime如何通过Selector找到对应的IMP地址?

能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?

给类添加一个属性后,在类结构体里哪些元素会发生变化?

_objc_msgForward函数是做什么的?直接调用它 将会发生什么?

使用runtime Associate方法关联的对象,需要在 主对象dealloc的时候释放么?

_runtime如何实现weak属性?那么runtime如何 实现weak变量的自动置nil?

代码阅读1:[self class]和[super class]的区别

代码阅读2:isKindOfClass和isMemberOfClass 的区别

代码阅读3:方法调用

学员专享增值服务
问答专区

关于课程的问题都可在问答区随时提问,讲师会进行集中答疑

源码开放

课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化

适合人群

1.想提高面试成功率的小伙伴
2.想加深对OC语言理解的小伙伴
3.想提高iOS开发性能的小伙伴

技术储备要求

一年左右的OC开发经验、
熟悉最基本的C语言基础知识

环境参数

  • 语言 Objective-C 2.0
  • IDE Xcode 9.4.1
  • 系统 macOS 10.13.4
  • 源码 Runtime:objc4-723
提问
数据加载中...
意见反馈 帮助中心 APP下载
官方微信