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

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

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

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

已完结 难度 高级 时长 17小时30分钟 学习人数 275 综合评分 9.96

课程从基础的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条用户评价
提问
数据加载中...
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

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

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