Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)

Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构),第1张

概述简介 Objective-C,是扩充C的面向对象编程语言。它主要使用于Mac OS Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS这两个NeXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以

简介

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> argv[]){ NSautoreleasePool * pool = [[NSautoreleasePool alloc] init]; NSLog(); [pool drain];

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

著作权声明:本文由http://www.cnblogs.com/stoic/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢! 总结

以上是内存溢出为你收集整理的Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)全部内容,希望文章能够帮你解决Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1057795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存