Objective-C编程语言--简介

Objective-C语言被设计成一种精致的,面向对象的,用法简单的计算机语言。它是完全基于标准C语言,并且做了最小的,但是功能强大的扩展的语言。这个扩展语言借鉴了是早期的能支持面向对象的语言Smalltalk的风格。Objective-C使用一种简单易懂的方式使得C语言能够完全支持面向对象。

大部分面向对象的开发都保护下面几个部分:

  • 一个面向对象的语言

  • 一个类库

  • 一系列的开发工具

  • 一个运行期环境

本文档描述了开发环境的第一部分--程序语言。同时对第二部--类库--提供简单描述,Objective-C提供了编程框架--即Cocoa。关于运行期是被描述在一个单独的文档中--Objective-C Runtime Programming Guide.

谁应该读本文档

本文档的预期读者会对如下内容感兴趣:

  • Objective-C编程

  • Cocoa应用库的基本信息

本文档不只是介绍Objective-C的面向对象特性,而是全面介绍这个语言本身。当然,只是专注于对C的扩展部分,而不保护C语言本身。

由于不是描述C语言的文档,所以这里要求读者需要一定的C语言基础。由于面向对象是和C语言的面向过程非常不同,所以即使你不是C语言的专家,也不会妨碍你对本文档的理解的。

本文档的组织结构

下面的章节覆盖了所以对C语言的扩展。

文章的最后有一个所有Objective-C语言和面向对象名词的解释汇总。

约定

本文档使用浅体字和粗体字表示不同的部分。前体表示这个部分必须使用这样的字符,不能有所有变化,粗体表示是可以自己定义的。比如,下面的代码:

@interface ClassName ( CategoryName )

表示@interface和其他的两个部分是必须的,但是你可以选择类名和类别名。

在例子代码中,省略号表示这有一些代码,但是没有显示出来:

- (void)encodeWithCoder:(NSCoder *)coder
{
    [super encodeWithCoder:coder];
    ...
}

参看

如果你从来没有面向对象编程经验,请先看文章Object-Oriented Programming with Objective-C。如果你有其他语言,比如C++,JAVA等语言的面向对象开发经验,也建议你读一下这个文章,因为Objecctive-C的面向对象的语言支持和其他的语言是不同的。Object-Oriented Programming with Objective-C为你站在Objective-C开发者的角度来熟悉面向对象编程提供帮助。他提供了面向对象的设计思路,以及如何写真正的面对对象的程序。

运行期系统

Objective-C Runtime Programming Guide描述了Objective-C的运行期特性,以及你如何用它。

Objective-C Runtime Reference描述了Objective-C在运行期系统方面提供的结构和函数。你可以使用这些支持和运行期系统进行交互,比如你可以动态增加类,或为类增加函数,或得到加载库中所有的类的列表。

内存管理

Objective-C支持三种方式的内存管理机制:即在自动垃圾回收和内存计数器上的技术:

  • 自动内存计数管理(ARC),编译器负责管理实例的生命周期。

  • 手动管理内存计数器(MRC,有时候称MRR为“手动增加/释放”),程序员负责所有的内存管理工作。

    手动管理内存的方式描述在文章Advanced Memory Management Programming Guide中。

  • 垃圾回收,系统提供垃圾回收齐来自动管理内存管理和实例生命周期管理。 where you pass responsibility for determining the lifetime of objects to an automatic “collector.”

    垃圾回收技术描述在Garbage Collection Programming Guide中。 (本技术不能用在iOS开发中—你也不能通过iOS开发中心看到上面的这个文档)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值