摘要:
(一)自动内存管理 --ARC 1>简单点说就是让编译器完成堆空间的引用计数的加减,自动释放,程序员不再写retain 和release等方法 2>OC的自动内存管理不同于java 的垃圾回收,而是在预处理是直接在应该保留的地方加上retain,在应该改释放的地方加上release,是直接添加代码 阅读全文
摘要:
手动内存管理--MRC 掌握内容 >理解内存管理的原理 >掌握手动内存管理MRC >掌握内存管理在实际工程中的使用 (一) 1.理解部分 1.1内存管理 (传统内存管理demo) 1.1.1内存管理做了一件什么事? 内存管理就是确保开辟的堆空间得到正确的释放 如果堆空间没有释放,称为内存泄露 使用已 阅读全文
摘要:
(一)类的本质 1.类也是个对象 其实类也是一个对象,是Class类型,简称“类对象”。 2.+load和+initialize +load +load > 在程序启动的时候会加载所有的类和分类,并调用所有类和分类的+load方法 >先加载父类,再加载子类;也就是先调用父类的+load,再调用子类的 阅读全文
摘要:
需求:如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 >继承 >分类(Category) (一)了解Catagory 1. Catagory,可以动态的为已经存在的类添加新的行为(方法),功能扩展,使用Category对类进行扩展时,不需要创建子类. Category使用简单的方式,实 阅读全文
摘要:
知识补充 一、 id 一、 id 1. 简介 万能指针,能指向任何OC对象,相当于NSObject * id类型的定义 2. 使用 // 注意:id后面不要加上* id p = [Person new]; 3. 局限性 调用一个不存在的方法,编译器会马上报错 这时可以用instancetype替代i 阅读全文
摘要:
@property和@synthesize 首先从翻译来看: @property(翻译为:性质)和@synthesize(合成),是不是很像属性(声明)和实现? 1. @property 用在@inteface中 用来自动生成setter和getter方法的声明, 用@property int ag 阅读全文
摘要:
(一)点语法 1.利用点语法替代set方法和get方法 方法调用 2.点语法的本质 >其实点语法的本质还是方法调用 >当使用点语法时,编译器会自动展开成相应的方法(编译器特性) 3.注意 阅读全文
摘要:
多态:也就是多种形态,每一个OC对象都有多态性 。 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象 4.局限性: 1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类 阅读全文
摘要:
(一)1.书写位置 成员变量也叫实例变量,是写在 @interface { // 写在这里的,比如 int _age; } @end 成员变量的命名规范 成员变量都以下划线 _ 开头,好处: 1>可以跟get方法的名称区分开2>一看到下划线开头的变量,肯定是成员变量(方便程序员之间的交流) 2. 成 阅读全文
摘要:
面向对象的三大特性 1)封装(set方法和get方法,掌握) 2)继承(掌握) 3)多态(理解概念即可) (一)继承(一种语法):是用在类与类之间,代表(两个)类之间的关系.(OC是单继承) 1.继承的使用场合 想要获取得某个类所有成员变量和方法,要实现什么,就通过继承. 1> 当两个类拥有相同属性 阅读全文
摘要:
面向对象的特征: 1)封装 2)继承 3)多态 知识点: (1)set/get方法(成员变量的封装) (2)构造方法 (3)self的使用 (4)对象方法和类方法 小知识点补充 (一)set/get方法 [set]:用形参给成员变量赋值 [get]:返回成员变量的值 代码示例 补充 (二)init构 阅读全文
摘要:
想要做iOS开发,OC语言是我们必须要学的,那么 要学习一门语言,我们首先得了解它。 【什么是OC】 objectiv-c 简称 OC,是一门基于C语言为基础编写而成的面向对象的语言。完全兼容C语言,可以在其代码中混入C语言代码,甚至是C++代码。 OC可以用来开发Mac OS X平台和iOS平台的 阅读全文