首页 实战 面试跳槽提升必备 全面解析iOS中的Runtime机制
收藏

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

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

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

已完结 难度 高级 时长 17小时30分钟 学习人数 275 综合评分 9.96
iOS提升面试必备
活动到手价:¥632.00 领券加购减100
2门课 总价:¥732.00
加购物车

课程从基础的C开始,循循渐进的讲解两大核心功能与常用API,并在实战中应用Runtime核心重难点,提升攻城狮的开发技能,开发出高性能的APP。最后讲解了iOS面试中必考的10道面试题,助同学们在求职中获得自己满意的offer。

逆风
讲师

移动开发工程师

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看

高薪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

万事俱备 只等你来

  • 饭饭饭大饱

    好评

    讲得很好,深度深,收益良多,这里给同学提两个建议,关于实现 KVO 课程里没有考虑特别周全, "daughter.name" 这种点语法的情况,以及对基础类型的监听,我自己写了个比较全面的实现,要考虑的细节还是非常多的,还有一个建议是字典转模型要考虑容器类型内部元素的自动转换,比如 NSArray<Person *> *, 情况还是比较复杂的,推荐大家自己亲自实现 KVO 和 字典转模型,才深有体会。

  • 卡卡罗特丶丶

    好评

    看了一些章节,目前老师讲的是一些原理层面和demo演示。期待后期章节runtime实战的运用能更精彩,最好还有一些其它的普及和联系比如runloop和多线程等。总体还是受益匪浅的,支持一下,毕竟网上这方面的教学很少,感谢老师的付出!有其他方面的领域也会支持的。要再多一点经验分享就更好了。

  • 慕娘4929733

    好评

    讲的东西很实用,很好,这个东西在平时开发中很少能接触到的,对于一个程序员的成长有很大的好处,推荐学习一下,希望后期能够推出RunLoop详细讲解视频。

查看全部133条用户评价
提问

  • 2

    面试时问到的第三方库的底层实现原理有吗,讲到什么程度

    亲,您好~课程会从基础的C语言开始,循循渐进的讲解类的本质、消息处理策略与常用API,并在实战案例场景中应用Runtime核心重难点。同时也会从设计模式底层进行原理分析,学完本课程自己就有能力去看懂常用的第三方库是如何实现的。祝您学习愉快~


  • 5

    课程提供答疑吗,我要准备面试用,基础不行,怕自己搞不明白

    亲,您好~基础不行不用担心的,老师课程讲解的技术点剖析的都比较清晰细致。购买课程后,如果学习过程中有什么不明白的地方,可以在问答里进行提问,老师都会帮助解决。例如,面试被问到的问题有不明白的,也可以在问答区里咨询老师。另外,同学也可以加QQ群,在群里大家互相探讨,讨论技术问题,讨论工作面试的问题。 祝您学习愉快~


  • 2

    最近在用一些第三方库,但是一些源码看不太懂,学这门课有帮助吗

    亲,您好~本课程会详细讲解类的本质、消息处理策略、Runtime的系列知识及常用的API,并且会从设计模式底层进行原理分析。通过对这些知识内容的学习,解决工作中的复杂业务,看懂一些常用的三方库都是没有问题的。如果有什么不明白的地方,也可以在问答区里进行提问,老师都会帮助答疑解惑的。祝您学习愉快~


  • 1

    有Method Swizzling和runtime相关API的详细讲解吗

    亲,您好~本课程在Runtime应用技巧的时候会讲解Method Swizzling处理数组越界,并且还有字典和模型的自动转换,自动归档和自动解档,以及万能跳转界面方法。同时Runtime的常用API包括动态添加变量、动态添加方法、动态交换方法等都有很详细的讲解。祝您学习愉快~

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题