黑马程序员_ios基础总结7_OC简介
2014-02-20 08:20
267 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
完全兼容C语言
可以在OC代码中混入C语言代码,甚至是C++代码
可以使用OC开发Mac OS X平台和iOS平台的应用程序
@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
OC也有字符串以@开头
链接ccmain.o
运行./a.out
链接ccmain.o –framework Foundation
运行./a.out
NSLog输出后会自动换行,printf输出后不会自动换行
使用NSLog需要#import<Foundation/Foundation.h>
使用printf需要#include<stdio.h>
可以自动防止文件内容被拷贝多次,也就以为着头文件中不用加入下面的预处理指令了
此框架中包含了很多常用的API(应用编程接口)
框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
•BOOL类型的变量有2种取值:YES、NO
•BOOL的输出(当做整数来用)
l为了避免跟C、C++的关键字冲突,所有的OC关键字都以@开始,比如
@interface,@implementation,@end
@public、@protected、@private,@selector
@try、@catch、@throw、@finally
@protocol,@class
OC2.0中引入的新关键字有
@property,@synthesize
@optional,@required,@dynamic
l每个框架中均有一个主头文件,该头文件包含了框架中各个头文件,一但引入了主头文件,就可以在自己的程序里使用任何在该框架里的类
l比如要使用Foundation框架,就导入它的主头文件即可:
#import <Foundation/Foundation.h>
lCocoa里面的任何类都要继承自NSObject(只有这样,该类的对象才可以获得运行时的基本能力)
lCocoa包含两个核心框架:Foundation框架和Appkit框架,用于开发MacOS X平台的应用程序
lCocoa框架在iOS上叫做Cocoa Touch,包含两个核心框架:Foundation框架和UIKit框架,用于开发iOS平台的应用程序(iPhone\iPod\iPad)
lCocoa Touch与Cocoa一个比较鲜明的区别就是Cocoa Touch并不支持垃圾回收机制,这就意味着你必须在你的代码里管理好你的内存
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
简单的OC程序
1.1OC简介
C语言的基础上,增加了一层最小的面向对象语法完全兼容C语言
可以在OC代码中混入C语言代码,甚至是C++代码
可以使用OC开发Mac OS X平台和iOS平台的应用程序
1.2关键字
所谓的关键字是语法功能的保留字(reserved word) ,具有既定的用法,例如int与char为Objective-C的基本类型,return为函数(function)回传数值之用。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字符串以@开头
C语言字符串,也称为为C串OC也有字符串以@开头
1.5OC程序的开发过程
.m源文件-->.o目标文件-->a.out可执行文件1.6C代码编写
跟C语言一样,OC程序的入口依然是main函数,只不过写到一个.m文件中。比如这里写到一个main.m文件中(文件名可以是中文)#include <stdio.h> int main() { printf("第1个OC程序\n"); return 0; }
1.7C终端指令
编译cc–c main.m链接ccmain.o
运行./a.out
1.8OC代码编写
来点跟C语言不一样的,使用NSLog函数输出内容#import <Foundation/Foundation.h> int main() { NSLog(@"第2个OC程序"); return 0; }
1.9OC终端指令
编译cc–c main.m链接ccmain.o –framework Foundation
运行./a.out
1.10NSLog与printf的区别
NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数NSLog输出后会自动换行,printf输出后不会自动换行
使用NSLog需要#import<Foundation/Foundation.h>
使用printf需要#include<stdio.h>
1.11#import的作用
跟#include一样,用来拷贝某个文件的内容可以自动防止文件内容被拷贝多次,也就以为着头文件中不用加入下面的预处理指令了
1.12Foundation框架的作用
开发OC、iOS、Mac程序必备的框架此框架中包含了很多常用的API(应用编程接口)
框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
1.13BOOL的使用
•BOOL类型的本质 typedef signed char BOOL;•BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL)1 #define NO (BOOL)0
•BOOL的输出(当做整数来用)
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); |
框架
l所谓框架,就是一个集合,其中包含着头文件等资源文件l每个框架中均有一个主头文件,该头文件包含了框架中各个头文件,一但引入了主头文件,就可以在自己的程序里使用任何在该框架里的类
l比如要使用Foundation框架,就导入它的主头文件即可:
#import <Foundation/Foundation.h>
Cocoa简介
lNextStep是一个用Objective-C编写的功能强大的工具包,里面有大量的类库,结构体等,被苹果收购之后,更名为Cocoa,但苹果并未更改NextStep中的类库名称,因此会有大量以NS为前缀的类名、结构体、枚举等lCocoa里面的任何类都要继承自NSObject(只有这样,该类的对象才可以获得运行时的基本能力)
lCocoa包含两个核心框架:Foundation框架和Appkit框架,用于开发MacOS X平台的应用程序
lCocoa框架在iOS上叫做Cocoa Touch,包含两个核心框架:Foundation框架和UIKit框架,用于开发iOS平台的应用程序(iPhone\iPod\iPad)
lCocoa Touch与Cocoa一个比较鲜明的区别就是Cocoa Touch并不支持垃圾回收机制,这就意味着你必须在你的代码里管理好你的内存
常见拓展名
拓展名 | 含义 |
.h | 头文件,用于描述类的组成,包括成员变量,成员方法,类方法类变量 |
.c | c源文件 |
.cpp .cc | c++源文件 |
.m | OC源文件也叫实现类的类文件,可以包含OC和C代码,一个M对应一个H |
.mm | 除了OC代码C代码还可以包含C++代码 |
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员_ios基础总结1_IOS概述
- 黑马程序员_ios基础总结2_C语言基本语法一
- 黑马程序员_ios基础总结3_C语言基本语法二
- 黑马程序员_ios基础总结4_C语言基本语法三
- 黑马程序员-IOS-C语言基础-其他数据类型及总结
- 黑马程序员_ios基础总结5_C语言基本语法四
- 黑马程序员_ios基础总结6_C语言基本语法五
- 黑马程序员_iOS开发C语言基础之枚举类型和数据类型总结
- 黑马程序员_ios基础总结13_OCFoundation2
- 黑马程序员_ios基础总结8_OC面向对象
- 黑马程序员-IOS学习笔记-C语言基础其他数据类型及总结
- 黑马程序员_ios基础总结9_OC特有语法
- 黑马程序员_ios基础总结10_内存管理
- 黑马程序员_ios基础总结11_协议,代理
- 黑马程序员_ios基础总结12_OCFoundation1
- 黑马程序员——ios基础---C语言:数据类型、运算符、选择结构
- 黑马程序员——java基础----集合框架知识点总结(一)
- 黑马程序员_java第八天基础总结
- 黑马程序员——java基础之易忘点总结(三)
- 黑马程序员——IOS基础之OC---类使用的常见错误汇总