`
dcj3sjt126com
  • 浏览: 1823145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • 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例子可以这么写:

 

  1. #import <Foundation/Foundation.h>  
  2.    
  3. int main(int argc, char *argv[]){  
  4.     @autoreleasepool{  
  5.         NSLog(@"Hello World!");  
  6.     }  
  7.   return 0;  
  8. }  

那 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如下

 

  1. #import<Foundation/Foundation.h>  
  2.    
  3. int main(int argc, char *argv[]){  
  4.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  5.    
  6.     NSLog(@"Hello World!");  
  7.    
  8.     [pool drain];  
  9.     return 0;  
  10. }  

 

IOS的系统结构

系统结构,从底层到最顶层分为四层,如下图:

1、核心操作系统层, Core OS


2、核心服务层 Core Services

 

 

3、媒体层 Media

4、Cocoa Touch层

 

 

参考:http://zh.wikipedia.org/wiki/Objective-C

 

著作权声明:本文由http://blog.csdn.net/totogo2010/原创
分享到:
评论

相关推荐

    Objective-C语言教程

    通过学习Objective-C的基本语法、类和对象、控制流程和方法等内容,你将能够编写简单的Objective-C程序并逐渐掌握更复杂的概念。继续学习和实践,你将能够开发各种类型的应用程序,并为用户提供出色的体验。祝你在...

    Object-C语言教程-提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C

    Objective-C 是一种通用、面向对象的编程语言,广泛应用于 macOS 和 iOS 等苹果平台...本教程提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C 编程,并开始构建 macOS 和 iOS 应用程序。

    objective-c语言教程

    objective-c语言教程。最新原版资料。内有基本语法,类对象使用,也有协议、线程等的介绍和使用等。是iphone开发的基础资料

    Objective-C Programming The Big Nerd Ra - Hillegass, Aaron

    接着对Objective-C和Foundation做了简单明了的介绍,其中包括Objective-C的语法知识,Foundation的常用类,还有内存管理、常用的设计模式等知识。在读者具备了一定的Objective-C知识后,作者用了两章的篇幅,...

    基于Object-C语言实现列表选择(项目源码).rar

    Object-C语言基础: 学习Object-C语言的基本语法和特性,了解Objective-C编程范式和iOS开发规范。 列表选择功能实现: 掌握实现iOS应用中列表选择功能的方法和技巧,包括列表的展示、数据的加载和选择状态的管理等...

    IOS开发的技术和要点

    很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是...

    word源码java-ocprjs:这是一个基于Objective-C语言的基础案例集。旨在用于给初学者快速了解Objective-C语言的语

    旨在用于给初学者快速了解Objective-C语言的语法。 注:以下将Objective-C简称OC XCode Objective-C git github 问答 Objective-C干什么用? 主要是用于IOS设备和MACOS应用程序的开发语言 案例集面向谁? 主要是面对...

    Objective-C程序设计 第6版

    本书通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行实际的iPhone/iPad和Mac应用开发。

    Objective-C程序设计(第6版带中文目录 )

    本书通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行实际的iPhone/iPad和Mac应用开发。

    使用Objective-C进行iOS移动开发

    【课程内容】包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象...

    Object-c基本教程中英文各一份

    因此,Objective-C它完全兼容标准C语言(C++对C语言的兼容仅在于大部分语法上,而在ABI(Application Binary Interface)上,还需要使用extern "C"这种显式声明来与C函数进行兼容),而在此基础上增加了面向对象编程...

    object开发的基本流程.doc

    同时,你还需要熟悉Objective-C的语法和特性,如内存管理、协议和代理等。 构建和编译:在编写完代码后,你需要构建和编译你的项目。Xcode提供了构建和编译的功能,它会将你的源代码转换成可执行文件。在编译过程中...

    ios基础知识开发介绍.zip

    Objective-C是苹果公司早期推出的面向对象的编程语言,它结合了C语言的强大功能和面向对象的特性,是早期iOS开发的主要语言。而Swift则是近年来苹果公司推出的新型编程语言,它语法简洁、类型安全,并且支持面向对象...

    iOS基础+进阶+案例+数据库(视频教程)

    1. Objective-C语法; 2. Objective-C UI基础; 3. Objective-C 进阶; 4. ipad 开发; 5. C语言基础语法; 6. 多线程; 7. 环信集成使用; 8. HTML基础语法; 9. XMPP; 10. 数据库; 案例视频: 1. 百思不得其姐;...

    Swift语言快速入门教程

    要知道在饱受了 Objective-C语言之苦后看见Swift是一种什么心情,你不需要再为引用计数而头疼,不需要再为没有命名空间而不得不添加该死的前缀而烦恼,不 需要再为Objective-C那难懂的语法而整天晕乎乎的。...

    简单讲解Objective-C的基本特性及其内存管理方式

    Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。 可以使用OC开发mac osx平台和ios平台的应用程序。 拓展名:c语言-.c OC语言.-m 兼容C++.-mm 注:...

    企业级iOS应用开发实战(全部章节)

    基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成开发环境、Interface Builder和高级...

    objccn-swifter-tips.pdf

    主要是Swift的语法说明和范例,Swift和Objective-C语言之间的区别

    企业级iOS应用开发实战(高清版)

    基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成开发环境、Interface Builder和高级...

    Swift语言速查表 v1.01.zip

    SwiftSwift语言是供iOS和OS X应用编程的新编程语言,苹果公司宣称Swift在各个方面优于常用的Objective-c语言,不会有多复杂的符号和表达式。同时,Swift更加快速、便利、高效、安全。而且会与Object-C相兼容。 这套...

Global site tag (gtag.js) - Google Analytics