IOS开发语言OC的基本语法以及结构
来源:互联网 发布:cnc立式宏程序编程实例 编辑:程序博客网 时间:2024/06/05 16:51
Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)
简介
Objective-C,是扩充C的面向对象编程语言。它主要使用于Mac OS Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS这两个NeXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在任何gcc支持的平台上进行编译,因为gcc原生支持Objective-C。
Objective-C的历史
1980年代初,布莱德·确斯(Brad Cox)在其公司Stepstone发明Objective-C,它以一种叫做SmallTalk-80的语言为基础。Objective-C建立在C语言之上,意味着它是在C语言基础上添加了扩展而创造出来的能够创建和操作对象的一门新的程序设计语言。对Objective-C最主要的描述是他1986年出版的《Object-oriented Programming, An Evolutionary Approach》。1988年,NeXT Software公司获得了Objective-C语言的授权,并开发出了Objective-C的语言库和一个名为NEXTSTEP的开发环境。1992年,自由软件基金会的GNU开发环境增加了对Objective-C的支持。1994年,NeXT Computer公司和升阳微系统(Sun Microsystem)联合发布了一个针对NEXTSTEP系统的标准典范,名为OPENSTEP。OPENSTEP在自由软件基金会的实现名称为GNUStep。1996年12月20日,苹果公司宣布收购NeXT Software公司,NEXTSTEP/OPENSTEP环境成为苹果操作系统下一个主要发行版本OS X的基础。这个开发环境的该版本被苹果公司称为Cocoa。
IOS的历史
苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS
Objective-C的语法
Objective-C是C语言的严格母集合,意指任何原始的C语言程式都可以通过Objective-C编译器而不需修改,也允许 Objective-C 使用任何原始的C语言代码。Objective-C 形容自己为覆盖于C语言上的一层薄纱,这是因为Objective-C的原意就是在原始C语言主体上加入面向对象的特性。Objective-C的面向对象语法源于Smalltalk讯息传递风格。所有其他非面向对象的语法,包括变量型别,前处理器(preprocessing),流程控制,函数声明与调用皆与C语言完全一致。
Hello World
咱们看看Hello World实例
新版本的Xcode 4.3.1下的helloworld例子可以这么写:
#import <Foundation/Foundation.h> int main(int argc, char *argv[]){ @autoreleasepool{ NSLog(@"Hello World!"); } return 0;}
那 autoreleasepool这个是做什么用的呢?
简单的说,每次事件处理时候开始的时候,ios会为我们自动生成一个autorelesepool,结束的时候释放掉。对于每一个Runloop, 系统会隐式创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object会被release。
那什么是一个Runloop呢? 一个UI事件,Timer call, delegate call, 都会是一个新的Runloop。Autorelease是保证一个method安全的,对于method中的函数调用也适用
旧版本的hellowold如下:
#import<Foundation/Foundation.h> int main(int argc, char *argv[]){ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Hello World!"); [pool drain]; return 0;}
IOS的系统结构
系统结构,从底层到最顶层分为四层,
核心操作系统层, Core OS 、 核心服务层 Core Services、媒体层 Media、Cocoa Touch层
如下图:
1、核心操作系统层, Core OS
2、核心服务层 Core Services
3、媒体层 Media
4、Cocoa Touch层
参考:http://zh.wikipedia.org/wiki/Objective-C
- IOS开发语言OC的基本语法以及结构
- IOS开发-OC基本语法(1)
- IOS开发---OC语言-⑫点语法
- OC语言基本语法
- OC语言基本语法
- IOS开发---OC语言-㉛OC结构体
- iOS OC语言(一)语法简介 , OC 的特点
- IOS开发:swift 语言基本语法1
- OC语言学习-基本语法
- iOS 开发OC语言(六) Block语法简介
- 【IOS 开发学习总结-OC-7.5】objective-c 的c语言特性——结构体
- IOS开发---OC语言-⑲内存管理:计数器的基本操作
- IOS开发---OC语言-㉗内存管理ARC的基本使用
- OC语言学习22-Block基本语法
- iOS开发-OC分支结构
- 黑马程序员--iOS-OC基本语法
- ios开发-OC核心语法的学习-1
- ios开发-OC核心语法的学习-2
- 百度地图 多轨迹 示例
- MyBatis参数传入集合之foreach动态sql
- JAVA简单的性能调优
- 史上短小精悍的JavaScript编写的俄罗斯方块游戏
- 警告:directory not found for option"XXXXXX"
- IOS开发语言OC的基本语法以及结构
- listview 禁止item点击
- LeetCode 24. Swap Nodes in Pairs
- [TIRTOS--Introduction]TI RTOS Kernel
- Django提示django-admin.py: command not found
- CNN 学习小结
- c语言指针--动态内存分配
- ZOJ 3705 Applications
- 个人笔记