类
1. 新建一个objective-C 的类时,需要选择Cocoa Touch
2. 头文件,主要书写@interface, 源文件@implementation。目的是将接口和实现的部分分别放入两个文件。
3. 双引号适用于本地文件,而不是系统文件(使用<>)。
4. 头文件可以公开并共享一些信息,而实现部分包含的是私有信息,即实例变量和代码。
合成存取方法。(访问器)
1. 第一步是在接口部分中使用@property指令标识属性。这些属性的命名可以与实例变量相同,但这不是必须的。
@property int numerator , denominator;
2. 实现部分使用@synthesize,可以生成访问器:一个取值器x和一个设置方法setX
3. sythesize生成的存取方法是高效的,并且在使用多个核心的多台机器上,使用多线程时也可以正常运行。
使用点运算符访问属性
instance.property 和/ = value
注意,也可以对自定义的方法使用点运算符,不仅仅是使用在synthesize上。当然也可以对方法使用,但是不建议这么做。
注意,使用synthesize的存取方法,属性名称的前面不要以new/alloc/copy/init这些词开头。
注意,如果程序中省略了@synthesize指令,那么自动生成命名底层的变量_numerator / _denominator. 这时候可能需要修改实现部分代码。
具有多个参数的方法。
[myFraction setNumerator: 1 andDenominator: 3];
[myFraction setTo :1 over :3]; 多个参数多个名称。
-(viod) setTo: (int) n over: (int) d;
方法名:setTo:over 方法名。
不带参数的方法
可以使用冒号作为参数分隔符。
省略参数名不是一种好的编程风格。
参数和返回值可以是类的指针。
局部变量是基本的C数据类型,并没有默认的初始值。所以在使用前要赋值。默认初始值为nil
方法的参数
方法的参数名同样为局部变量。
因为方法使用参数的副本,所以不能改变通过方法传递的原值。
如果参数是对象,可以更改其中的实例变量。
static关键字
可以使局部变量保留多次调用一个方法所得的值。
初始化的值为0,它们只会在程序开始执行时初始化一次,并在多次调用时保存这些数值。
self关键字
用来指明对象是当前方法的接收者。
扩展类的定义和接口文件
1 通过加入新方法来定义和扩展一个类。
2. 通过直接扩展类定义或者定义自己的字类并添加自己的新方法直接扩展该类。