Objective-C 语法学习笔记

来源:互联网 发布:娱乐之仙界淘宝系统 编辑:程序博客网 时间:2024/04/29 18:13

 

变量定义

interface 文件(*.h)中定义,定义要放在 interface 名称后的括号内

对象的定义要用指针[NSButton *aButton;],使用正常名称

普通变量正常定义使用

方法定义

interface 文件(*.h)中定义,定义放在括号外且 @end 标记前

以符号([-]表对象方法,[+]表静态方法)开头,其次以括号括起来的返回值类型,然后是方法名称,以冒号开始参数的加入,参数按正常定义格式,但要把类型以括号括起来,第一个参数以后的参数要加标志符,以分号结束[-(void)testFunction:(NSString *)aString secondPara:(int)aInt;]

方法名以小写字母开头

方法的实现

implementation 文件(*.m)中定义,文件中先以 import 关健字引入 interface 文件[#import "MyClass.h"],方法定义在@implementation和@end关键字之间定义方法,跟定义在interface中对方法的定义类似,但方法的实现在大括号之间

方法的参数是方法的一部分,如果参数是指针则在使用时要重新分配内存,用后要释放内存,如果是普通变量则正常使用,如:

-(void)setName:(NSString *)tmpName{

[tmpName retain];

[tmpName release];

tmpName = name;

}

释放内存操作放在对tmpName的调用之后,调用一个释放的方法。

初始化类的对象可以在方法[-(id)init{}]中实现。

方法及变量的使用

实例化一个对象:先分配内存并创建类{MyClass *anInstance=[MyClass alloc;]},然后初始化对象:{[anInstance init]}(调用了实例的init方法),则一般实例化为:{MyClass *anInstance =[[MyClass alloc] init];}

以中括号来调用{[object message]},以分号结尾

参数在对象操作后加入{[object method:para1 labelPara2:para2]},方法可做嵌套,在要使用的地方以同样的方式调用即可

调用同一个类中的其它方法,对象名用 self

使用实例直接调用对象的变量是可以的,但最好通过方法访问变量

返回值可以正常使用

当然用alloc创建了实例,也要释放:{[anInstance release];}

内存自动释放方式

以 stringWithSting 代替 alloc ,可以使系统自动释放内存

创建对象:+(id)stringWithString:(NSString *)aString;

*aString =[NSString stringWithString:@"Hello,World!"]

实例化对象时设置自动回收:{MyClass *anInstance=[[[MyClass alloc] init] autorelease];}


 

原创粉丝点击