分析最简单的Hello Objective-C程序
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
NSLog(@"Hello, World!");
return 0;
} // main
- OC本质上就是C语言,它用来声明
main()
和返回数值的语法和C语言是一样的。 - 扩展名.m代表message
- 与C类似,OC使用头文件来包含结构体、符号常量和函数原型等元素的声明。
-
#import
类似于C的#include
,但#import
可保证头文件只被包含一次。 -
#import <Foundation/Foundation.h>
语句告诉编译器查找Foundation框架中的Foundation.h
头文件。 -
int argc, const char * argv[]
中argc
是指命令行参数个数,argv[0]
是指可执行文件的路径,argv[1]
是指命令行第一个参数,argv[2]
是指命令行第二个参数,以此类推。 - 框架 :一种把头文件、库、图片、声音等内容聚集在一个独立单元中的集合体。
- 如Cocoa,Carbon,QuickTime,OpenGL
- Cocoa包括Foundation和Application Kit(AppKit)
- 每一个框架都有一个主头文件,它包含了框架内所有的头文件。
- Foundation的头文件 1MB 14000行 100多文件 。通过
#import <Foundation/Foundation.h>
就获得了整个集合 - Xcode使用预编译头文件(一种经过压缩的,摘要形式的头文件)来加快读取速度。
- NSLog()和@”字符串”
-
NS
前缀是NextSTEP(很早之前苹果公司收购的公司) -
NSLog()
类似于C的printf()
- @符号是Objective-C在标准C语言基础上添加的特性,意味着引号内的字符串应作为Cocoa的
NSString
元素来处理 -
@
符号可以看成之后是对C语言的扩展
-
布尔类型
OC中的布尔值YES
是1, NO
是0,是与C语言中不同的。