You are on page 1of 2

Objective-C 2.

0 语法小抄

Objective-C 2.0 语法小抄 示例:


-(returnType)methodName
发送消息 -(returnType)methodName: (dataType)param1
­(returnType)methodName: (dataType)param1
withParam: (dataType)param2
定义:向对象发送消息。消息接收者可以是对象,
类,self或super等。
方法实现

消息类型 语法 定义:声明的方法的真实实现。
简单消息 [receiver message] @import "declarations.h"

命名参数 [receiver message name1:arg1 @implementation ClassName : SuperClass


name2: arg2] -(return type) methodName :(type) arg1
{
匿名参数 [receiver message :arg1 :arg2] //方法实现
}
典型应用 [receiver message:arg1 @end
name2:arg2]

属性与合成(Synthesize)
文件导入/包含
定义:属性能够自动为类的参数创建setter和
定义:文件导入是在当前文件中包含特定的代码文 getter方法。@property用来声明属性;
件。 @synthesize用来合成(实现)属性。

示例: 声明
#import "Class.h"
#import <Class.h> @property (attributes) type name;
#import <dir/Class.h>
参数
类的定义
@interface ClassName (category) 参数 描述
<protocols> : SuperClass
{ readonly 只读属性
@public
@protected readwrite 读写(默认)
@private
//实例变量 assign 简单赋值(默认)
}
//方法定义 retain 在赋值的时候,使用retain方法
@end
copy 在赋值的时候,赋予对象的拷贝
实例变量的默认访问级别为@protected。
nonatomic 线程不安全

方法定义 getter=name 显式指定getter方法的名字

定义:方法的第一行;声明了方法名,参数和返回 setter=name 显式指定setter方法的名字


值。
assign, copy和retain参数之间互相排斥。默认
方法类型 语法 的参数是assign和readwrite。另外,除了能够
使用常规方法调用属性值之外,还能够使用点语
实例方法 -(return type) name :(type) 法:object.property。
arg1 :(type) arg2
实现
类方法 +(return type) name :(type)
arg1 :(type) arg2
@synthesize value=variable;
第1页,共2页
Objective-C 2.0 语法小抄
@dynamic value;
类型 描述

协议 unsigned 同C语言的unsigned类型

@protocol ProtocolName <protocol list> void 无类型


//方法声明
@end
线程同步
分类
@synchronized(sync object)
{
定义:将代码分类的方法。分类用来更好的组织代 //线程同步代码
码,还能用于为无法获得源代码的类增加方法。 }

@interface ClassName(category) 特殊对象


-(return type) methodName;
@end
名字 描述
@implementation NSString(MyAddition)
-(return type) methodName nil Null对象
{
//方法实现
self 指向方法中当前对象的引用
}
@end
super 指向方法中超类的引用

异常处理
快速迭代
@try
{ for(type variable in expression)
} {
@cache (exception) }
{
}
@finally 通用消息
{
}
消息 描述
@throw(exception); //抛出一个异常
@throw(); //重新抛出当前异常 alloc 为对象分配内存

init 初始化对象实例
内建和预定义类型
retain 增加对象的引用计数
类型 描述
release 减少对象的引用计数
BOOL 布尔值(YES/NO)

char 同C语言的char类型 图例
double code
同C语言的double类型
optional code
float 同C语言的float类型
说明
id 一个对象
根据Objective-C Cheat Sheet v0.1(www.the-lazy-
int 同C语言的int类型 programmer.com)和Beginners iPhone Objective-
C 2.0 Cheat Sheet V4(www.maniacdev.com) by
long 同C语言的long类型
Johann Dowa两个文档翻译整理。
short 同C语言的short类型

signed 同C语言的signed类型

第2页,共2页

You might also like