1、代码编写
以下是第二个OC程序:
1 #import <Foundation/Foundation.h>
2
3 int main()
4 {
5 //NSLog输出内容会自动换行
6 //NSL3个字母都是大写
7 //@和""之间不能有空格
8 NSLog(@"第2个OC程序!!!");
9
10 return 0;
11 }
2、终端指令
- cc -c main.m
- cc main.o -framework Foundation
(只有用到了Foundation框架才需要加上-framework Foundation)
- 运行 ./a.out
3、NSLog 和 printf 的区别
- 使用NSLog需要#import <Foundation/Foundation.h>
- 使用printf需要#include <stdio.h>
- NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
- NSLog输出后会自动换行,printf输出后不会自动换行
4、#import的作用
- 跟#include一样,用来拷贝某个文件的内容。
- 可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入下面的预处理指令了
#ifndef _STDIO_H_
#define _STDIO_H_
#endif
//NSObjCRuntime.h中有NSLog函数的声明
#import <Foundation/NSObjCRuntime.h>
<>中 /之前的部分表示的是框架名, /之后的部分表示的是框架内部的 .h头文件。
- #import是#include的升级版,以后我们都用#import。
5、Foundation框架的作用
#import <Foundation/Foundation.h>
- 开发OC、iOS、Mac程序必备的框架。
- 此框架中包含了很多常用的API(应用程序借口)。
- 框架包含了很多头文件,若想使用整个框架,包含它的主头文件即可。
- Foundationl框架的存放路径:
- 右击Xcode.app --> 显示包内容
- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers
- 主头文件
- 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其它头文件
- Foundation框架的主头文件名称就是Foundation.h
- 只需要包含Foundation框架主头文件,就可以使用整个框架的东西
注意:不要随便增删东西
本节重点
- C语言使用printf函数输出内容;OC语言使用NSLog函数输出内容,并且NSLog输出内容会自动换行。
- NSLog输出语句中@和""之间不能有空格。
- 只有用到了Foundation框架,链接的时候才需要加上-framework Foundation。
- #import可以自动防止文件内容被拷贝多次,以后都用#import。
- 只需要包含Foundation框架的主头文件,就可以使用整个框架的东西。