• 1. 兼容性
Objective-C可以说是一种面向对象的C语言,在Objective-C的代码
中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象 访问方法。
• 2. 字符串
Objective-C通常不使用C语言风格的字符串。大多数情况下是使用
Foundation框架的NSString类型的字符串。NSString类提供了字符串
的类包装,支持Unicode,printf风格的格式化工具等等。它是在普 通的双引号字符串前放置一个@符号,如下面的例子所示:
NSString* myString = @"My String\n";
NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];
• 3. 类
Objective-C是一种面向对象的语言,定义类是它的基本能力。
Objective-C的类声明和实现包括两个部分:接口部分和实现部分。
• 4.方法
Objective-C是一种面向对象的语言,定义方法也是它的基本能力。
Objective-C中方法不是在“.”运算符,而是采用“[]”运算符。有时 候方法调用也称为:消息发送。
• 5. 属性
属性是Objective-C 2.0提出的概念,它是替代对成员变量访问的“
读取方法(getter)”和“设定方法(setter)”的手段,为了对类 进行封装一般情况下不直接访问成员变量,而是通过属性访问。
• 6.协议
Objective-C中的协议类似于Java中的接口或C++的纯虚类,只有接口部分定义没有实现部分,即只有h文件没有m文件。
• 7 .分类
Objective-C中的分类是类似与继承机制,通过分类能够扩展父类的 功能。
oc代码的扩展名
• 8 .代码HelloWorld:
// First program example
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool =
[[NSAutoreleasePool alloc] init];
// insert code here...
NSLog(@"Hello World!");
[pool drain];
return 0;
}
• 9 .解释
#import <Foundation/Foundation.h>
告诉编译器找到
并处理名为Foundation.h文件,这是一个系统文件, #import表示将该文件的信息导入到程序中。
在C和C++中采用#include指令,在本例中也可以采用 #include,而#import是#include改进指令,它可以防止头文件重复包含问题。
int main(int argc, const char * argv[])
,这个方法是程序的入口。参数argc-参数数目,argv-参数值。
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]
语句是创建一个自动释放内存池对象,使用它来维护内存释放和回收,其中alloc方法是分配内存,init方法是初始化 类,相当于C++或Java的构造方法作用。
NSLog
是Foundation框架提供的Objective-C日志输出函数,与标准C中的printf函数类似,并可以格式化输出。@“Hello, World!”
,是代表NSString字符串对象,它是Objective-C常用的字符串类。
[pool drain]
语句是用来释放内存池,它将纳入到这个内存
池中管理的对象内存全部释放掉,关于NSAutoreleasePool 问题我们将在内存管理部分详细讨论。
最后是return 0
语句,它表示要终止main的执行,一般情 况下0代表正常结束,非0代表异常情况,这是沿用了C语 言的习惯。
• 10 .程序的执行过程