OC中的特有语法】的更多相关文章

一. 分类-Category 1. 基本用途 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 l 继承 l 分类(Category) 2. 格式 分类的声明 @interface 类名 (分类名称) // 方法声明 @end 分类的实现 @implementation 类名 (分类名称) // 方法实现 @end 3. 好处 一个庞大的类可以分模块开发 一个庞大的类可以由多个人来编写,更有利于团队合作 给NSString增加一个类方法:计算某个字符串中阿拉伯数字的个数 给NSStr…
点语法 点语法本质是函数的调用,不是像java中那样,是用来访问成员变量的:oc中访问成员变量是用 -> 访问的: Person *p = [Person new]; p.age = 10; // 如果点语法是进行了赋值操作,那么就相当于调用了setter方法: [p.age]; // 这样不赋值相当于调用了getter: 注意点: 尽量不要在setter或getter中调用点语法,容易引发死循环:死循环是由于递归调用引发的: // 在setter调用点语法 - (void)setAge:(in…
一. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 打开电脑 播放电脑中的歌曲 关闭电脑 b) 面向对象(不是相亲的“对象”) 电脑 ² 开机 ² 播放歌曲 ² 关机 2) 区别分析 面向过程关注的是解决问题需要哪些步骤:面向对象关注的是解决问题需要哪些对象 没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的,但是解决思路不一样 想打电话\发短信 à …
一. set方法和get方法 1. set方法和get方法的使用场合 @public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检.水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数 2. set方法 1) 作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值 2) 命名规范: 方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写 形参名称不要跟成员变量同名 3. get方法 1) 作用:返回对象内部的成员变量 2) 命名…
一. 继承 1. 继承的基本用法 l 设计两个类Bird.Dog // Bird的声明 @interface Bird : NSObject { @public int weight; } - (void)eat; @end // Bird的定义 @implementation Bird - (void)eat { NSLog(@"吃吃吃-体重:%d", weight); } @end // Dog的声明 @interface Dog : NSObject { @public int …
1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方…
[iOS系列]-oc中特有的语法 oc数据类型: 1,基本类型 2,对象类型 3,id 4,BOOL 5,block 6,SEL 1:category 使用继承关系来扩充一个类,有一个弊病,高耦合性 category(分类,类别) 能够帮我们扩充一个类的功能 1,只要是在原类中生成的成员变量都可以在分类中直接访问,不能在分类中生成员变量 2,如果分类中定义实现了与原类中相同的方法,那么原类中的方法相当于被覆盖掉了. 注:在实际的开发中,最好不要出现方法覆盖 //指向函数的指针 void test…
一. 分类-Category 1. 基本用途:Category  分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Category) 2. 格式 ➢ 分类的声明 @interface 类名 (分类名称) // 方法声明 @end ➢ 分类的实现 @implementation 类名 (分类名称) // 方法实现 @end 3. 好处 ➢ 一个庞大的类可以分模块开发 ➢ 一个庞大的类可以由多个人来编写,更有利于团队合作 ➢ …
一.类别(category) 类别(category)——通过使用类别,我们可以动态地为现有的类添加新方法,而且可以将类定义模块化地分不到多个相关文件中.通常只在类别中定义方法.(类别,接口部分的定义,通常该文件命名为已有"类+类别名.h") 我们知道,如果一个函数在.h文件中无声明而在.m文件中定义它的实现,那么该方法就是私有方法,只能在本类的文件中使用.  若我们在类别的接口部分声明这个方法,那么我们就可以实现对该私有方法的访问. 二.扩展(extension) 扩展(extens…
========================== 数组 ========================== 一.认识数组 oc中可以把NSObject对象的子类放到数组这个集合中,但是int.float.double等基础数据类型需要先进行转换才可以存入数组. oc中数组以NS开头,其中分为可变数组和不可变数组: 1.不可变数组(NSArray) 数组在创建的时候被初始化之后,不可以再次进行增.删.改: //NSArray 是一个类,苹果公司封装好的数组类. //数组需要先分配内存再使用,…