#文档名:用 Objective-C 编程

##关于Objective-C(简称OC)

给iOS和OS X写程序的时候,Objective-C是程序员使用的主要语言。OC是C语言的一个扩展集,提供了面向对象的特性和一个动态运行时。
OC的语法,基本类型,控制流语句也都是从C语言继承而来,并且还加入了定义类和方法的语法。OC也添加了语言级别的对象图形管理和对

象标示符支持,来提供动态分型和动态绑定,把很多事情延迟到运行时。

###内容惊鸿一瞥

本文档介绍了OC语言和一些扩展的例子。学习怎么创建自定的类来描述对象,如何使用Cocoa和Cocoa Touch提供的框架类。虽说框架时独立

与语言存在的,但是很多的特性和框架类密不可分。

###一个App是用对象的网络构建起来的

写iOS和OS X的App,主要就是和对象打交道。对象是OC类的实例,有Cocoa提供的类,也有自己定义的类。

如果你要开始创建自己的类,就开始从描述那个类下手,自习想想这个类的实例对象的公共接口是什么样子的。这个接口包括了封装了相关

数据的共用属性,还有一系列方法。方法的声明显示的是对象可以接受的消息,在任何时候被调用的时候方法可以接受的参数信息。自定类

中还要包括一个实现,视线中包括了之前在接口中声明的所有方法的可执行代码。

###用“分类”来扩展现有的类
为了给现有的类增加一点小功能,犯不上创建一个全新的类,可以通过定义一个“分类”来给现有的类增加自定的行为。使用分类可以给任

何类增添方法,即使是框架里面的那些你没有源代码的类,比如NSString。

如果你拥有现有类的源代码,可以使用一个类扩展来增加新的属性,或者说修改现有的属性。类扩展经常用来吧一个私有行为隐藏在单个源

文件或者一个自定的框架实现中。

###“协议”定义消息规范
OC程序里最常发生的操作其实是对象之间互相发消息。一般来说,这些消息是通过方法的形式显式地定义在类的接口中。但是有时候,一组

相关的类是不一定是直接绑定在某个特定的类上的。

OC使用协议来定义一组相关的方法,比如那些对象会在委托中调用的方法,可以设置成必须实现也可以设置成可选实现。任何类都可以选择

实现一个协议,也就是说,这个类必须要实现协议中定义的必须实现的方法。

###值类和集合类常被包装成OC对象
一般OC会用Cocoa中的类来表示值类。NSString类用来表示字符串,NSNumber类用来包装整型或浮点型数字,NSValue类则用来包装其他的类

型,比如C语言的结构体。你也可以使用C语言中的基本类型,比如int,float,或者char。

集合类会包装成Cocoa集合类的实例来使用,比如NSArray数组,NSSet集合,或者NSDictionary字典,都可以用来作为OC对象的集合。

###“代码块”简化一般任务

代码块是C,OC,C++都已经引入的语言特性,用来代表一个工作单元;代码块会用一对花括号包装一块代码,看上去很像其他语言里的闭包

。代码块经常用来简化一般的任务操作,比如集合类中的枚举,排序,测试操作。代码块也可以使得使用GCD技术的并发或者异步的多任务

操作变得更简单。

###用在运行时问题的Error对象

虽然OC包含了异常处理的语法,但是Cocoa只会在出现编译时错误的时候使用异常(比如数组访问越界),这些问题在App发布之前就应该修

正。

所有其他的错误,运行时错误,比如磁盘空间溢出或者网络服务故障,都被包装成NSError类的实例。你的程序应该有所准备并且做出处理

,来确保良好的用户体验。

###OC代码要遵循现有的代码规范

写OC代码,应该时刻记住几条代码规范。方法名应该小写字母开头,之后用驼峰命名,蔽日doSomething和doSomethingElse。这不是说大写

字母有多重要,而是要确保你的代码具有一定的可读性,方法的名称应该具有意义,但是也不要太过冗长。

另外,有一些规则在使用框架或者语言特性的时候是必须遵守的。比如属性访问器方法必须遵守严格的命名规范以配合比如KVC和KVO这些技

术。

##前导知识

如果你是开发新手,在学习这份文档之前,先去看看Start Developing iOS Apps Today文档,对iOS程序开发有一个通盘的了解。另外你还

要比较熟悉Xcode的基本用法,Xcode是开发程序的IDE工具;用Xcode来写代码,设计界面,测试应用,调试程序等等。

在语言上,有一些C语言基础或者基于C语言的系列语言的知识是不错的,本文档中确实包含了一些C语言的流程控制语句的示例代码。如果

你有其他的高级语言的经验,比如ruby或者Python,那也是可以的,接着往下吧。

另一个基本的前导知识是面向对象的一些基本概念,以及一些一般的面向对象的基本原则。要是完全没概念,推荐先去看相关章节 OC编程

概念。

OC使用ARC来管理对象的生命周期,ARC会管好这些事情,但是要是你没办法使用ARC,就需要自己关心好这些内存管理的事情,你应该看看

Advanced Memory Management Programming Guide文档。

时间: 2024-11-14 11:27:40

#文档名:用 Objective-C 编程的相关文章

总会有一个是你需要的

http://www.shouce.ren/post/d/id/112300 黑客攻防实战入门与提高.pdfhttp://www.shouce.ren/post/d/id/112299 黑客入门新手特训.pdfhttp://www.shouce.ren/post/d/id/112298 黑客与设计-剖析设计之美的秘密(彩印).pdfhttp://www.shouce.ren/post/d/id/112297 鸟哥的LINUX私房菜:服务器架设篇 (第二版).pdfhttp://www.shouc

【挨踢人物传】关东升:成功的路上很寂寞,贵在坚持(第20期)

[编者有话]       本期的嘉宾关东升,近10年编写15本书,执着坚持,不管遇到什么挫折或者不顺利,都能够用最大的勇气,继续坚持下去.因为他知道,只有坚持下去,黎明前的曙光才会属于他  -- [本期人物档案] 个人信息: 51CTO账号:tony_guan 姓名:关东升 性别:男 所在地:北京 教育信息:清华大学 职业信息: 从业时间:18年 行业:移动互联网.教育公司:智捷教育 职位:技术总监.技术公文 关注技术:iOS.Cocos2d-x.Android.WindowPhone.用户体验

学习ios(必看经典)牛人40天精通iOS开发的学习方法

学习ios(必看经典)牛人40天精通iOS开发的学习方法 描述 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统.专业的课程体系.以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲解.也适合想提升技能的已从事iOS开发的工作人员以最短时间内提升技能的从业者. 目标 通过本系列课程的学习,希望使一个对iOS开发感兴趣,想从事iOS开发的学员,成为一名真正iOS开发人员,iOS从业者,iOS技术大牛,最重要的是学会解决开发中遇到困难的方法. 建议 建议学员,尤其是初学者,一定要打

IOS 开发大牛首选之路

学习ios(必看经典)牛人40天精通iOS开发的学习方法 描述 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统.专业的课程体系.以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲解.也适合想提升技能的已从事iOS开发的工作人员以最短时间内提升技能的从业者. 目标 通过本系列课程的学习,希望使一个对iOS开发感兴趣,想从事iOS开发的学员,成为一名真正iOS开发人员,iOS从业者,iOS技术大牛,最重要的是学会解决开发中遇到困难的方法. 建议 建议学员,尤其是初学者,一定要打

奇虎360职位

JS高级前端开发工程师负责搜索相关产品的前端开发:使用Javascript熟练.准确地进行代码构建,实现产品所需的动画效果以及交互效果:使用HTML/CSS/XML熟练地进行页面维护:对javascript语言有十分深入的了解: 掌握至少一门服务器端编程语言,对OOP有一定的认识,对前后端合作开发有一定的认知:熟练掌握HTML/CSS/XML PHP开发工程师参与360搜索相关项目需求分析和系统分析, 参与制订技术解决方案; 熟悉PHP开发, 熟悉LNMP开发环境. 3年以上PHP开发经验,熟练

Qt for iOS,Qt 与Objective C混合编程

项目设置 既然要聊 Qt 混合 OC 编程,首先要简单介绍一下 Objective C .我只有一句话:Go,问搜索引擎去.因为我所知实在有限,怕误导了您.当然如果您不怕,往下看吧. OC源文件介绍 首先我要说一下 Objective C 的源文件,后缀是.m 或 .mm ,在 .mm 文件里,可以直接使用 C++ 代码.所以,我们要混合 Qt 代码与 OC 代码,就需要在 Qt 项目里加入 mm 文件. pro 文件配置 Qt SDK for Mac ,安装之后, Qt Creator 会使用

IOS-Swift、Objective-C、C++混合编程

1.Objective-C调用C++代码 后缀为m文件的是Objective-C的执行文件,而后缀为mm文件的是Objective-C++文件. 直接在Objective-C中是无法调用C++代码的,所以如果需要在Objective-C调用C++语言就需要直接将后缀m文件改为mm,然后就可以调用C++代码了. Objective-C兼容C,Objective-C++兼容C.C++. 接下来是在OC工程中创建C++文件,并调用C++的代码: 然后在OC文件中直接用C++的语法调用C++,所以前提是

iOS多线程编程指南(二)线程管理

当应用程序生成一个新的线程的时候,该线程变成应用程序进程空间内的一个实体.每个线程都拥有它自己的执行堆栈,由内核调度独立的运行时间片.一个线程可以和其他线程或其他进程通信,执行I/O操作,甚至执行任何你想要它完成的任务.因为它们处于相同的进程空间,所以一个独立应用程序里面的所有线程共享相同的虚拟内存空间,并且具有和进程相同的访问权限. 一.线程成本 多线程会占用你应用程序(和系统的)的内存使用和性能方面的资源.每个线程都需要分配一定的内核内存和应用程序内存空间的内存.管理你的线程和协调其调度所需

objective - c 类和对象

知识点 1.初步认识 OC 2.xcode使用 3.面向对象编程思想,类和对象 4.类的定义和使用 5.类的实例化--对象 6.声明和实现相分离 =========================================== 1.需要理解的(理论部分) 第一部分:OC和面向对象 1.1.OC语言的历史,特点.重要程度 [什么是OC] objective - c   在C语言基础上开发, 面向对象的语言: 注意C语言和oc语言语法的区别: IOS, iphone, ipad … [进入OC