关于object-c

关于Objective-C语言

Objective-C的是OS X和iOS编写软件时使用的主要编程语言。这是一种C语言编程的的超集,并提供面向对象能力和动态运行。Objective-C语言的语法继承基元类型流程控制语句中的C,并且增加了语法定义的类和方法。它还增加了语言级的支持对象关系图管理层和对象字面量,同时提供动态类型和动态绑定,延迟了许多责任,直到运行时。

概览

本文档介绍了Objective-C语言,并提供了广泛的使用它的例子。您将学习如何创建自己的类描述的自定义对象,并看看如何使用一些框架类提供的Cocoa和COCOa触摸。虽然框架类是独立的语言,它们的使用是紧密缠绕成Objective-C和许多语言级别上功能依赖于这些类提供的特性编码。

建立一个应用程序从一个网络对象

OS X或iOS的应用程序时,你将你的大部分时间花在工作的对象。这些对象是Objective-C类的实例,其中有些是为您提供的CocoaCOCOa触摸,其中一些你会写自己。

如果你正在写自己的类,开始提供的类的描述,详细说明拟公开接口的类的实例。这个接口包括公共属性封装相关数据,随着一个方法列表。方法声明表示一个对象可以接收的消息,每当调用该方法所需的参数信息。您还可以提供的实施,其中包括接口中声明的每个方法的可执行代码。

相关章节:“类的定义”,“使用对象”,封装数据



分类扩展现有的类
而不是创建一个全新的类,以提供轻微的额外的功能,在现有的类,它可以自定义行为添加到现有的类定义一个类。您可以使用一个类别,将方法添加到任何类别包括类,因为您还没有原有的实现源代码,比如像NSString的框架类。

如果你有一类原始的源代码,你可以使用一个类扩展,添加新的属性,或修改现有属性的属性。类扩展通常用来隐藏私人使用的行为,无论是在一个单一的源代码文件,或私有实现一个自定义的框架内。

自定义现有的类

协议定义消息的契约
在Objective-C的应用程序的工作的大部分发生作为结果的对象,发送消息给对方。通常情况下,这些消息被定义为一个类的接口中声明的方法明确的。然而,有时是有用的,可以定义一组不直接连接到一个特定的类相关的方法。

Objective-C中使用的协议来定义一组相关的方法,如一个对象可能调用其委托,这是可选或必需的方法。任何类都可以表明,它采用一个协议,这意味着,它也必须在协议中的所有必需的方法提供实现。

工作协议
Objective-C的对象往往是代表集合
这是共同使用的Objective-C的CocoaCocoa触摸类的代表值。使用NSString类字符串字符的NSNumber类不同类型的数字,如整数或浮点数,NSValue的类其它值,如C结构。您也可以使用任何由C语言,如int,float或的char的原始定义的类型。

集合通常表示为一个集合类,如NSArray中的NSSet或NSDictionary中,其中每一个用于收集其他Objective-C的对象的实例。

相关章节:集合

块简化常见任务
块是一种语言功能引入到C,Objective-C和C ++来表示一个工作单元,它们封装的代码块捕获的状态,这使得他们在其他编程语言类似封。块通常被用来简化常见任务,如枚举集合,排序和测试。他们也可以很容易Central Dispatch的大(GCD)技术,如使用同步或异步执行预定任务。

相关章节:的工作

错误对象用于运行时问题
虽然Objective-C中包括语法编程错误(如越界数组访问),这应该是固定的应用程序是出厂前的异常处理,Cocoa和Cocoa触摸使用的例外。

所有其他错误,包括运行时的问题,如运行的磁盘空间不足或不能够访问Web服务NSError类的实例表示。你的应用程序应该计划的错误,并决定如何最好地处理他们在出问题的时候,为了呈现最佳的用户体验。

相关章节:处理错误

Objective-C的代码遵循成立公约
当写Objective-C代码,你应该记住的一些既定的编码约定。方法名称,例如,以小写字母开始使用骆驼多个单词,例如,DoSomething的doSomethingElse。这不只是资本,这是很重要,但你也应该确保你的代码是尽可能地易读,这意味着该方法的名称应该是表现力,但不是太冗长。

此外,还有一些约定,如果你想利用语言或框架的功能所需要的。属性访问方法,例如,必须遵循严格的命名约定,为了工作与键 - 值编码(KVC)或键 - 值观察(KVO)等技术。

相关章节:公约”


先决条件

如果你是新的OS X或iOS开发,你应该通读开始开发iOS应用程序的目前今天开始开发Mac应用程序之前,请先阅读本文件,为iOS和OS X应用程序开发过程的一般概述此外,您应成为熟悉Xcode中才试图照着练习做结束时本文档中的大部分章节。Xcode是用于构建应用程序的iOS和OS X的IDE,你会用它编写代码,您的应用程序的用户界面设计,测试您的应用程序,并调试任何问题。

虽然这是最好有一些熟悉C或基于C语言如Java或C#,本文件并不包括C语言的基本功能,如流程控制语句内嵌的例子。如果你有另一个更高层次的编程语言,如Ruby或Python的知识,你应该能够按照内容。

合理覆盖一般的面向对象编程的原则,尤其是当他们申请在Objective-C语言的背景下,但它是假设你至少有一个最小的熟悉基本的面向对象的概念。如果你不熟悉这些概念,你应该阅读的相关章节在Objective-C编程的概念


参见

本文件中的内容适用于4.4或更高版本的Xcode,假定你的目标要么OS Xv10.7的或后,或iOS5或更高版本。对于Xcode中的更多信息,请参见Xcode的概述。语言功能的可用性的信息,请参阅Objective-C的功能可用性指数。

Objective-C的应用程序使用引用计数来确定对象的生存期。在大多数情况下,自动引用计数(ARC)功能的编译器为你照顾。如果您无法利用ARC,或需要转换或维持旧代码手动管理对象的内存,你应该阅读高级内存管理编程指南。

Objective-C语言的使用除了编译器,运行时系统,使其充满活力和面向对象的功能。虽然你通常不需要担心的Objective-C是如何工作的”,它可以直接与这个运行时系统,所描述的Objective-C的运行时编程指南Objective-C运行时参考


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值