A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卧龙小 中级黑马   /  2014-9-22 15:48  /  976 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 卧龙小 于 2014-9-22 15:49 编辑

代码没提交,只是简单笔记。

一.类

类的声明(@interface 部分)要放在它自己名为class.h 的文件中。

类的定义(@ implementation 部分)放在相同名称的文件中,扩展名为.m


类中导入其他文件

导入本地文件需要用引号引起来,而不是<>,<>用于系统文件  import <Foundation/ Foundation.h>



二合成存取方法

OC 2.0后,可自动生成设值方法和取值方法。需要采取以下步骤

1.在接口部分使用 @property

例如:

@interface Fraction:NSObject

@property int numerator, denomination;

@end;


2.在实现部分用 @synthesize

例如:

@implementation Fraction{}

@synthesize numerator, denomination;

@end;


使用了@property 指令,就不需要在实现部分声明相应的实例变量,编译器通过 @synthesize 为两个属性生成设值方法和取值方法


三。点运算符访问属性

OC 可以通过点运算符访问属性。格式如下:

instance.property


例如:

Fraction *f = [[Fraction alloc] init];

f.numerator

也可以通过 点运算符来赋值

f.numerator = 4    等价于 [f setNumerator:4]



四 多个参数的方法

用“:”冒号连接 每个参数名,就可以定义一个多个参数的方法,用冒号连接的参数也是这个方法名的一部分。

例如:


  1. setNumerator:(int ) n setDenomination:(int) d;
复制代码

调用方法

[f setNumerator:3 setDenomination:3];


参数名实际上是可选的,例如声明以下方法

- (int) set :(int) n:(int) d;

这个方法名为set::,调用方式如下

[f set:2:2]


五 局部变量

局部变量是基本的的C 数据类型,并没有默认的初始值,使用前先赋值,局部变量的默认初始化为nil ,和实例变量不同,当跳出局部变量作用域,则清空。方法参数就是局部变量,只能在方法内部用

例子

int count=0;//全局变量

while(count<10){

int tmp=count;//tmp 局部变量

tcount++;

}

NSLog(@"%i",count);

NSLog(@"%i",tmp); //报错,无法访问局部变量,局部变量只能在作用域中使用



六 static 关键字

在变量申明前,加上static 就成了静态变量,静态变量在初始化的时候复制,然后改变的值,所有方法都可以访问,如果某一方法赋值后,则静态变量将保留该值。其他方法访问时也是该值。

例子:

int count=0; //计数器

static int tmp =0;


while(count<10){

tmp=count;//tmp 局部变量

tcount++;

}


NSLog(@"%i",tmp); //输出9 ,它会保留在 循环过程中的赋值。



七 self 关键字

关键字self 是用来指明对象是当前方法的接收者

[self FunctionName];


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马