第一个程序式例子
#import<Foundation/Foundation.h> import的用途:1、拷贝文件的内容
2、可以自动防止文件的内容被重复拷贝
//OC程序的入口:main函数
int main (int argc,constchar * argv [ ])
{
@autoreleasepool {
NSLog (@"programming is fun!"); // NSLog 输出内容会自动换行
}
return0;
}
1、@autoreleasepool,在java中,有垃圾回收机制,系统会自动回收不再使用的对象,而OC是不支持垃圾回收的,需要开发人员编写代码来释放对象所占的内存。
@autoreleasepool{},这是跟内存管理有关,暂时不用理解它的意思,现阶段只需要记住,以后OC代码都会写在@autoreleaspool的{}内部。
2、 NSLog,NSLog是一个日志输出函数,它可以将传入的OC字符串参数输出到控制台上。
函数@"programming is fun!"是一个OC字符串,所有OC字符串前面都有个@
3、Foundation:Foundation框架
Foundation.h:Foundation框架头文件,Foundation.h有NSLog函数的声明,只要包含Foundation框架的主头文件,就可以使用这个框架的东西
4、#import<...>表示包含系统自带的文件,#import"..."表示开发人员自己创建的文件
5、main是一个特殊名称,用于准确地表示程序将在何处开始执行。main之前保留字int指定main返回的值的类型,该值为整型。
6、int argc, const char * argv [] ,这些与名为命令行参数内容有关,后面要弄懂它。
7、一条语句就是一个以分号结束的表达式,每个OC程序语句必须使用分号结束。
#import<Foundation/Foundation.h>
int main (int argc,constchar * argv [])
{
@autoreleasepool {
int sum;
------------------------ 一般在这个定义的下面留一空行,以便在视觉上区分函数的变量定义和程序 语句,这是一种风格问题,有时候在程序中添加单个空白可使 程序可读性更强
sum =50 +25;
NSLog(@"sum=%i",sum); //(@"sum=%i",sum) 这里有两个参数,这些参数用逗号隔开
}
return0;
}