NickTang的专栏

iOS开发,不定期更新。

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开发中心看到上面的这个文档)

阅读更多
个人分类: Objective-C
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭