简介
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的系统结构
系统结构,从底层到最顶层分为四层,如下图:
1、核心操作系统层, Core OS
2、核心服务层 Core Services
3、媒体层 Media
4、Cocoa Touch层
参考:http://zh.wikipedia.org/wiki/Objective-C
相关推荐
通过学习Objective-C的基本语法、类和对象、控制流程和方法等内容,你将能够编写简单的Objective-C程序并逐渐掌握更复杂的概念。继续学习和实践,你将能够开发各种类型的应用程序,并为用户提供出色的体验。祝你在...
Objective-C 是一种通用、面向对象的编程语言,广泛应用于 macOS 和 iOS 等苹果平台...本教程提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C 编程,并开始构建 macOS 和 iOS 应用程序。
objective-c语言教程。最新原版资料。内有基本语法,类对象使用,也有协议、线程等的介绍和使用等。是iphone开发的基础资料
接着对Objective-C和Foundation做了简单明了的介绍,其中包括Objective-C的语法知识,Foundation的常用类,还有内存管理、常用的设计模式等知识。在读者具备了一定的Objective-C知识后,作者用了两章的篇幅,...
Object-C语言基础: 学习Object-C语言的基本语法和特性,了解Objective-C编程范式和iOS开发规范。 列表选择功能实现: 掌握实现iOS应用中列表选择功能的方法和技巧,包括列表的展示、数据的加载和选择状态的管理等...
很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是...
旨在用于给初学者快速了解Objective-C语言的语法。 注:以下将Objective-C简称OC XCode Objective-C git github 问答 Objective-C干什么用? 主要是用于IOS设备和MACOS应用程序的开发语言 案例集面向谁? 主要是面对...
本书通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行实际的iPhone/iPad和Mac应用开发。
本书通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行实际的iPhone/iPad和Mac应用开发。
【课程内容】包含Objective-C语言的基本数据类型,基础语法以及进阶知识。同时还讲解了流程控制、字符串、集合类型、函数和闭包等。此外、面向对象、结构体、类Class,以及手动内存管理、自动内存管理、协议与抽象...
因此,Objective-C它完全兼容标准C语言(C++对C语言的兼容仅在于大部分语法上,而在ABI(Application Binary Interface)上,还需要使用extern "C"这种显式声明来与C函数进行兼容),而在此基础上增加了面向对象编程...
同时,你还需要熟悉Objective-C的语法和特性,如内存管理、协议和代理等。 构建和编译:在编写完代码后,你需要构建和编译你的项目。Xcode提供了构建和编译的功能,它会将你的源代码转换成可执行文件。在编译过程中...
Objective-C是苹果公司早期推出的面向对象的编程语言,它结合了C语言的强大功能和面向对象的特性,是早期iOS开发的主要语言。而Swift则是近年来苹果公司推出的新型编程语言,它语法简洁、类型安全,并且支持面向对象...
1. Objective-C语法; 2. Objective-C UI基础; 3. Objective-C 进阶; 4. ipad 开发; 5. C语言基础语法; 6. 多线程; 7. 环信集成使用; 8. HTML基础语法; 9. XMPP; 10. 数据库; 案例视频: 1. 百思不得其姐;...
要知道在饱受了 Objective-C语言之苦后看见Swift是一种什么心情,你不需要再为引用计数而头疼,不需要再为没有命名空间而不得不添加该死的前缀而烦恼,不 需要再为Objective-C那难懂的语法而整天晕乎乎的。...
Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。 可以使用OC开发mac osx平台和ios平台的应用程序。 拓展名:c语言-.c OC语言.-m 兼容C++.-mm 注:...
基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成开发环境、Interface Builder和高级...
主要是Swift的语法说明和范例,Swift和Objective-C语言之间的区别
基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成开发环境、Interface Builder和高级...
SwiftSwift语言是供iOS和OS X应用编程的新编程语言,苹果公司宣称Swift在各个方面优于常用的Objective-c语言,不会有多复杂的符号和表达式。同时,Swift更加快速、便利、高效、安全。而且会与Object-C相兼容。 这套...