首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

简述OC语言

对于一门语言的学习是需要时间领悟的,而对于一些原理性的问题,我们需要清楚其核心思想,知其然而知其所以然,这样才能有利于自己的后续发展。本文只是简述,没有面面具到(后续会持续更新)。...---- OC是在C语言的基础上加入了一些面向对象的特性(封装,继承,多态),OC完全兼容C语言,在代码中,可以混用C,甚至是C++代码(C++是在C语言的基础上开发的一种面向对象编程语言)。...继承 继承是一种层次模型,允许和鼓励类的重用,继承性很好的解决了软件的可重用性问题。...OC的函数调用称为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(在编 译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。而C语言在编译阶段就会报错)。...OC的动态性的三方面 动态类型、动态绑定、动态加载(动态是因为 到运行时(runtime)才会做一些事情) 动态类型:就是id类型; 动态绑定:需要用到@selector/SEL,SEL并不是C里面的函数指针

2K20

OC - Block 详解

块,封装了函数调用以及调用环境的 OC 对象, Block 的声明 // 1....2.Block的底层数据结构 Block 本质上也是一个 OC 对象,它内部也有个isa指针; Block 是封装了函数调用以及调用环境的 OC 对象; Block 的底层数据结构如下图所示: ?...封装了函数调用以及调用环境的 OC 对象。 Q:block 的属性修饰词为什么是 copy?使用 block 有哪些使用注意? block 一旦没有进行 copy 操作,就不会在堆上。...使用注意:循环引用问题。 Q:block在给 NSMutableArray 添加或移除对象,需不需要添加 __block? 不需要。...OC 方法都有两个隐式参数,方法调用者self和方法名_cmd。 参数也是一种局部变量。 Q:_name 会不会捕获到 block 内部? 会捕获。

2.8K10
领券