上一篇中,说了一下如何新建应用程序,现在说一下程序。
查看项目中只有一个源文件main.m。
main中的代码如下:
//
// main.m
// Hello Object-C
//
// Created by user on 15/12/4.
// Copyright © 2015年 vn. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
Xcode通过.m扩展名表示文件使用的是Objective-C代码,应由Objective-C编译器处理。而C编译器处理.c文件,C++编译器处理.cpp文件。
1 程序的入口:main函数
和C,java一样,OC的程序入口依然是main函数。
2 #import
1)#import是一个预处理指令,作用和c中对#include,java中的import类似。
2)第九行的#import <Foundation/Foundation.h>表示包含框架Foundation中的Foundation.h文件。
也许你看见过这样的#import “A.h”,如果导入的文件是自己创建的文件就使用“”,而如果是库里的文件则使用<>。
3)C语言中的#include语句的一个问题是同一个头文件可能被多次包含,通常使用#ifdef命令避免这种情况,
而OC中的#import命令可保证头文件只被包含一次。
3 NSLog
类似于C语言中的printf函数,NSLog是一个日志输出函数,它可以将传入的OC字符串输出到控制台上,并且会自动换行。
上面程序中的NSLog(@"Hello, World!");输出结果:
2015-12-04 14:19:31.608 Hello Object-C[13647:1093932] Hello, World!
前面的输出信息说自动加上的,包括时间,程序名称等。
NSLog也支持格式符,
int age = 20;
NSLog(@"年龄是%i,身高是%f米",age,1.70f);
结果是:2015-12-04 14:28:00.891 Hello Object-C[13663:1097204] 年龄是20,身高是1.700000米
4 @autoreleasepool
这个和内存管理有关,占时不用管它。等学到了再说啦。。。。