标签:style blog http color io os 使用 ar strong
Objectuve-C 简称OC,其中Objective是面向对象的意思,即面向对象C。
以下代码写在OC源文件(.m文件)中,说明OC程序完全兼容C语言
#include <stdio.h>
// OC程序的入口:main函数
// OC程序完全兼容C语言
int main(intargc, const char* argv[])
{
printf("第1个OC程序\n");
return 0;
}
以下仅作了解即可
.m文件中既可以写OC代码又可以写C代码,完全可以混在一起;
.mm文件可以写C++代码。
2.OC语法概览
(1)OC关键字
@interface、 @implementation、 @end
@public、 @protected、 @private、 @selector
@try、 @catch、 @throw、 @finally
@protocol、 @optional、 @required、 @class
@property、@synthesize、 @dynamic
少部分特殊关键字不是以@开头:
self、 super、 id、 _cmd、 __block、 __strong、 __weak、
(2)字符串以@开头
比如@"Hello"是OC中的字符串,而"Hello"则是C语言中的字符串。
(3)其他语法
3.OC程序的开发过程
与C语言相似:
编译的作用:检测语法,如果语法正确,编译成功,生成.o目标文件;
链接的作用:把项目中所有相关联的.o目标文件跟C语言函数库合并在一起,生成一个可执行文件(a.out)。
本节重点
二、第1个OC程序
1、代码编写
跟C语言一样,OC程序的入口是main函数,只不过是写在OC的源文件(.m文件)中。
比如这里的第一个OC main.m文件中(文件名可以是中文):
#include <stdio.h>
// OC程序的入口:main函数
// OC程序完全兼容C语言
int main(intargc, const char* argv[])
{
printf("第1个OC程序\n");
return 0;
}
2、终端指令
本节重点
三、第2个OC程序
C语言使用printf函数输出内容;OC语言使用NSLog函数输出内容。
1、代码编写
以下是第二个OC程序:
#import <Foundation/Foundation.h>
int main()
{
//NSLog输出内容会自动换行
//@和""之间不能有空格
NSLog(@"第2个OC程序!!!");
return 0;
}
2、终端指令
(只有用到了Foundation框架才需要加上-framework Foundation)
3、NSLog 和 printf 的区别
4、#import的作用
#ifndef _STDIO_H_
#define _STDIO_H_
#endif
//NSObjCRuntime.h中有NSLog函数的声明
#import <Foundation/NSObjCRuntime.h>
<>中 /之前的部分表示的是框架, /之后的部分表示的是框架内部的 .h头文件
5、Foundation框架的作用
#import <Foundation/Foundation.h>
注意:不要随便增删东西
6、BOOL类型的使用(C语言中没有BOOL类型)
BOOL类型的本质其实是char
typedef signed char BOOL
#define YES (BOOL)1
#define NO (BOOL)0
NSLog(@"%d %d", YES,NO);
编写代码如下:
1 #import <Foundation/Foundation.h>
2
3 //BOOL做返回值类型,返回NO
4 BOOL test(BOOLmybool)
5 {
6 return NO;
7 }
8
9 int main(intargc, const char* argv[])
10
11 {
12 BOOL b = YES;
13 BOOL b2 = NO;
14 BOOL b3 = 1;// YES
15 BOOL b4 = 0;// NO
16
17 NSLog(@"b =%d", b);//结果为b = 1
18
19 NSLog(@"b2 = %d", b2);//结果为b2 = 0
20
21 NSLog(@"b3 = %d", b3);//结果为b3 = 1
22
23 NSLog(@"b4 = %d", b4);//结果为b4 = 0
24
25 NSLog(@"%d", test(YES));//结果为0
26
27 return 0;
28
29 }
本节重点
标签:style blog http color io os 使用 ar strong
原文地址:http://www.cnblogs.com/xdl745464047/p/3995031.html