简单的OC程序
1.1OC简介
1.2关键字
1.3Objective-C关键字
auto,BOOL, break, Class, case, bycopy, char, byref, const, id, continue, IMP, default, n,do, inout, double, nil, else, NO, enum, NULL, extern, oneway, float, out, for, Protocol, goto, SEL, if, self, inline, super, int, YES, long, @interface,register, @end, restrict,@implementation, return, @protocol, short, @class, signed, @public, sizeof, @protected, static,@private, struct, @property, switch, @try, typedef, @throw, union,@catch(),unsigned, @finally, void, @synthesize, volatile, @dynamic, while,@selector, _Bool, atomic, _Complex, nonatomic, _Imaginery, retain
1.4字符串以@开头
1.5OC程序的开发过程
1.6C代码编写
跟C语言一样,OC程序的入口依然是main函数,只不过写到一个.m文件中。比如这里写到一个main.m文件中(文件名可以是中文)
#include <stdio.h>
int main()
{
printf("第1个OC程序\n");
return 0;
}
1.7C终端指令
1.8OC代码编写
来点跟C语言不一样的,使用NSLog函数输出内容
#import <Foundation/Foundation.h>
int main()
{
NSLog(@"第2个OC程序");
return 0;
}
1.9OC终端指令
1.10NSLog与printf的区别
1.11#import的作用
1.12Foundation框架的作用
1.13BOOL的使用
#define YES (BOOL)1
#define NO (BOOL)0
NSLog(@"%d %d",YES,NO);
OC语法
lOC中没有类似Java中的包名这个概念,取而代之的是程序设计师必须给类名加上前缀,使用前缀可以有效的防止名称冲突。如NSString、NSArray(前缀都是NS)
l为了避免跟C、C++的关键字冲突,所有的OC关键字都以@开始,比如
@interface,@implementation,@end
@public、@protected、@private,@selector
@try、@catch、@throw、@finally
@protocol,@class
OC2.0中引入的新关键字有
@property,@synthesize
@optional,@required,@dynamic
char、int、float、double、BOOL(YES\NO) | |
nil | 相当于Java中的null |
self | 相当于Java中的this |
基本语句 | 循环语句(do while、while、for)、条件语句(if 、if-else、switch)、goto语句 |
for循环快速遍历 | for (xx in xx) |
基类 | NSObject |
继承 | 单继承,用super关键字可以调用父类方法 |
基本数据类型 | @try @catch @finally |
注释 | // 和 /*...*/ |
日志输出 | NSLog(@”Hello”); NSLog(@”age is %i”, 27); |
框架
#import <Foundation/Foundation.h>
Cocoa简介
常见拓展名
拓展名 | 含义 |
.h | 头文件,用于描述类的组成,包括成员变量,成员方法,类方法类变量 |
.c | c源文件 |
.cpp .cc | c++源文件 |
.m | OC源文件也叫实现类的类文件,可以包含OC和C代码,一个M对应一个H |
.mm | 除了OC代码C代码还可以包含C++代码 |