11 2020 档案

摘要:什么是RunTime OC是一门动态性比较强的编程语言 跟C,C++等静态语言有很大的不同。 静态语言:如C语言 编译阶段就要决定调用哪个函数 如果函数未实现就会报错。 动态语言:编译阶段并不能决定真正调用哪个函数 只要函数声明过 没有实现也不会报错。 OC之所以被称为动态语言 就是因为它把一些决定 阅读全文
posted @ 2020-11-18 17:09 幻影-2000 阅读(370) 评论(0) 推荐(0)
摘要:什么是Block Block 又称为“块” 或 “代码块”,作用是用来保存代码,保存在其内部的代码块 如果Block不被调用 这段代码就不会执行 在OC中Block的基本格式是这样的 返回值类型 (^block名) (参数类型 和 数量) = ^(形参 和 数量){ //code }; Block的 阅读全文
posted @ 2020-11-11 19:00 幻影-2000 阅读(1143) 评论(0) 推荐(0)
摘要:概念 分类是OC中特有的语法,它表示一个指向分类的结构体的指针,原则上只能增加方法 不能增加成员(实例)变量。 我们可以用来 1.声明私有方法 2.分解体积庞大的类文件 探究 我们都知道 一个类的实例对象调用实例方法时 是通过实例对象的isa指针找到类对象 然后在其或者父类对象存储的方法中找到实现的 阅读全文
posted @ 2020-11-09 15:03 幻影-2000 阅读(311) 评论(0) 推荐(0)
摘要:什么是KVO KVO的本质是key-Value Observing 俗称 健值监听 可以用与监听某个对象属性值的改变 观察者模式的一种实现 采用isa_swizzling实现。 如果一个对象想要知道另一个对象属性值的改变 我们就可以使用KVO来实现 具体代码如下 #import "ViewContr 阅读全文
posted @ 2020-11-05 23:50 幻影-2000 阅读(203) 评论(0) 推荐(0)
摘要:一个NSObject对象占用多少内存 我们都知道 我们平时编写的OC代码 底层实现其实是C/C++,然后编译器再把C/C++代码转换为汇编语言代码,汇编代码最终会变成机器语言。 所以OC的面向对象都是基于C/C++的数据结构来实现的。 那么我们OC中的对象 类 都是基于C/C++什么样的数据结构实现 阅读全文
posted @ 2020-11-05 17:01 幻影-2000 阅读(194) 评论(0) 推荐(0)