当前位置: 首页 > ops >正文

Objective-C 编程语言官网文档(一)-简介

声明:本文档仅为个人学习过程中顺手翻译之作,方便开发的同胞借鉴参考。如有觉得译的不好不到位的地方,欢迎指正,将及时做出更正
尽量尊重原文档,因为首次Objective-C,有些地方可能直译了没有注意该语言的专有词,希望指正。如需转载,请注明出处



我的编程环境:

IDE:XCODE4.3.1

OS: MAC OS X 10.7.4

文章来译自:http://developer.apple.com/

简介

Objective-C语言是一种简单的基于当下先进的面向对象的一种计算机语言。它作为标准的ANSI C语言的扩展,轻量但很强大。相对C, Objective-C新加入的一些内容更多是基于Smalltalk语言,Smalltalk是面向对象编程语言的创始者之一。Obejctive-C被设计赋予C语言完整的面向对象编程的能力,并以一种简单和直接的方式来实现。

大多数面向对象的开发环境都包含下列几部分:

  • 面向对象的编程语言;
  • 一系列的对象库;
  • 一套开发工具;
  • 运行时环境;

本文档是关于第一个部分的介绍,即编程语言。 本文档还包含了一些有关学习第二部分的基础知识--Objective-C应用框架--Cocoa,运行时环境的表述可以参考另外一个文档Objective-C Runtime Programming Guide.

适合阅读本文档的人群:

1.Objective-C的开发人员

2.想要了解Cocoa应用框架基础的朋友

本文档不仅介绍了Obejctive-C的面向对象模型以及语言本身。专注于讲解相对C扩展的东西,而不是C本身。

因为文档并不着墨于C语言本身,可能有人觉得需要具备C的知识背景呢。作为一个面向对象的语言,Objective-C是跟面向过程的C有着很大的区别,所以即便你不是一个有经验的C语言开发者,也不会妨碍你学习Objective-C

本文档的组织结构:

  • “Objects, Classes, and Messaging” (对象,类 以及 消息)

  • “Defining a Class” (如何定义类)

  • “Protocols” (协议/规则)

  • “Declared Properties”  (如何声明属性)

  • “Categories and Extensions” (类目及扩展)

  • “Associative References”   (关联引用)

  • “Fast Enumeration” (迅捷枚举)

  • “Enabling Static Behavior” (使用静态成员)

  • “Selectors” (筛选器)

  • “Exception Handling” (异常处理)

  • “Threading” (线程)



关于文字字体协定的内容不做翻译了,呵呵,只是一些书写惯例

其它:

如果你从来没有使用过面向对象的语言进行过开发,那么你可以先阅读下文档 Object-Oriented Programming with Objective-C. 同样,如果你有过面向对象开发的经验,例如,C++, JAVA等语言的开发经验,你也可以看下上面提到的文档, 因为他们虽然都是面向对象的,但很多内容可能不尽相同。这个文档讲述了面向对象开发的思想以及一些基于面向对象思想的实现。

运行时环境

Objective-C Runtime Programming Guide 这个文档向我们讲解了有关Objective-C的运行时环境,以及我们如何使用。

Objective-C Runtime Reference 这个文档则向我们介绍了Objective-C说支持的数据结构以及函数。你的程序也许会用到里面的借口来与Objective-C运行时环境进行交互。


内存管理

Objective-C支持三种方式的内存管理:自动垃圾回收及引用统计
  • Automatic Reference Counting (ARC), 自动引用统计,编译器会推断出所有对象的生命周期

  • Manual Reference Counting (MRC), 手动引用统计,有时也叫MRR,即手动保持,释放。用于你完全掌控并决定对象的生命周期。

    详情可以参考 Advanced Memory Management Programming Guide.

  • Garbage collection, 垃圾回收,将决定对象生命周期的责任传递给自动回收器

    可以参考Garbage Collection Programming Guide. (但文档不适用于iOS—IOS的你可以通过访问IOS开发中心获取该文档.)


原文:(http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html#//apple_ref/doc/uid/TP30001163-CH1-SW2

 Introduction

The Objective-C language is a simple computer language designed to enable sophisticated object-oriented programming. Objective-C is defined as a small but powerful set of extensions to the standard ANSI C language. Its additions to C are mostly based on Smalltalk, one of the first object-oriented programming languages. Objective-C is designed to give C full object-oriented programming capabilities, and to do so in a simple and straightforward way.

Most object-oriented development environments consist of several parts:

  • An object-oriented programming language

  • A library of objects

  • A suite of development tools

  • A runtime environment

This document is about the first component of the development environment—the programming language. This document also provides a foundation for learning about the second component, the Objective-C applicationframeworks—collectively known as Cocoa. The runtime environment is described in a separate document,Objective-C Runtime Programming Guide.

Who Should Read This Document

The document is intended for readers who might be interested in:

  • Programming in Objective-C

  • Finding out about the basis for the Cocoa application frameworks

This document both introduces the object-oriented model that Objective-C is based upon and fully documents the language. It concentrates on the Objective-C extensions to C, not on the C language itself.

Because this isn’t a document about C, it assumes some prior acquaintance with that language. Object-oriented programming in Objective-C is, however, sufficiently different from procedural programming in ANSI C that you won’t be hampered if you’re not an experienced C programmer.

Organization of This Document

The following chapters cover all the features Objective-C adds to standard C.

  • “Objects, Classes, and Messaging”

  • “Defining a Class”

  • “Protocols”

  • “Declared Properties”

  • “Categories and Extensions”

  • “Associative References”

  • “Fast Enumeration”

  • “Enabling Static Behavior”

  • “Selectors”

  • “Exception Handling”

  • “Threading”

A glossary at the end of this document provides definitions of terms specific to Objective-C and object-oriented programming.

Conventions

This document makes special use of computer voice and italic fonts. Computer voice denotes words or characters that are to be taken literally (typed as they appear). Italic denotes words that represent something else or can be varied. For example, the syntax:

@interfaceClassName(CategoryName)

means that @interface and the two parentheses are required, but that you can choose the class name and category name.

Where example code is shown, ellipsis points indicates the parts, often substantial parts, that have been omitted:

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

See Also

If you have never used object-oriented programming to create applications, you should read Object-Oriented Programming with Objective-C. You should also consider reading it if you have used other object-oriented development environments such as C++ and Java because they have many expectations and conventions different from those of Objective-C. Object-Oriented Programming with Objective-C is designed to help you become familiar with object-oriented development from the perspective of an Objective-C developer. It spells out some of the implications of object-oriented design and gives you a flavor of what writing an object-oriented program is really like.

The Runtime System

Objective-C Runtime Programming Guide describes aspects of the Objective-C runtime and how you can use it.

Objective-C Runtime Reference describes the data structures and functions of the Objective-C runtime support library. Your programs can use these interfaces to interact with the Objective-C runtime system. For example, you can add classes or methods, or obtain a list of all class definitions for loaded classes.

Memory Management

Objective-C supports three mechanisms for memory management: automatic garbage collection and reference counting:

  • Automatic Reference Counting (ARC), where the compiler reasons about the lifetimes of objects.

  • Manual Reference Counting (MRC, sometimes referred to as MRR for “manual retain/release”), where you are ultimately responsible for determining the lifetime of objects.

    Manual reference counting is described in Advanced Memory Management Programming Guide.

  • Garbage collection, where you pass responsibility for determining the lifetime of objects to an automatic “collector.”

    Garbage collection is described in Garbage Collection Programming Guide. (Not available for iOS—you cannot access this document through the iOS Dev Center.)

http://www.xdnf.cn/news/11486.html

相关文章:

  • 看程序员如何给女朋友解释什么是锟斤拷?
  • 同一个局域网下访问电脑本地的localhost网址
  • 什么是网口温湿度传感器?什么是以太网温湿度传感器?
  • KVM+GFS分布式存储系统构建KVM高可用
  • python基础,黑马最新配套视频笔记
  • 气体管道管径及流量对照表_De、DN、D、d怎么搞懂他们?附管径与阀门通径对照表...
  • Android4.0 SDK新功能详解
  • MyEclipse 7.0下载 + 汉化 + doc汉化
  • 手机游戏无障碍设计——猜地鼠之Android篇
  • 从0到1手把手教你搭建个人博客
  • 油动无人机的优点有哪些?油动多旋翼无人机的优缺点及前景分析
  • 实践是检验真理的唯一标准!!交换机VLAN相关配置案例!
  • 腾讯应用宝Android 应用加固(乐固)操作说明(转)
  • 光盘如何重装系统教程
  • 个人怎么申请支付接口平台(教程)
  • 基于微信小程序的智能停车场管理系统的设计与实现
  • 推荐几款2024年最新开源API测试工具!
  • HTTP代理神器Fiddler
  • 三种经典“返回顶部”效果的代码
  • Web安全 EmpireCMS漏洞常见漏洞分析及复现(1)
  • vue项目main.js使用方法
  • XMLHttpRequest读取xml乱码及请求封装
  • onmouseover、onmouseenter、onmouseleave、onmouseout的区别
  • 2022年起重机械安全管理复训题库模拟考试平台操作
  • 稳定状态模型 (三):Volterra 模型
  • JSP基于JSP的医疗挂号管理系统rrklt(程序+源码+数据库+调试部署+开发环境)
  • 洛克王国五大灵石及魔法石地点分布总结
  • Element UI修改CSS样式的问题
  • ​机器视觉08——常见光源特点及应用之条形光源详解
  • 黑客爱用的 HOOK 技术大揭秘!