(本文主要转载:http://ourcoders.com/thread/show/117/)
目的

做这个笔记本主要是重新熟悉一下iOS开发,因为之前学的东西太乱太杂,没有一个详细的学习顺序,所以正好将苹果官方的iOS开发文档进行一下翻译,达到学习和锻炼英语的能力。苹果iOS开发原网址是:https://developer.apple.com/library/ios/navigation/#section=Resource%20Types&topic=Getting%20Started.
文档结构介绍

当我们打开上面的网址时,显示的是如下所示的结构:
然后我们看,文档内容区域的左侧导航栏区域,这里揭示了文档库的结构,如下图区域1。
区域1的介绍:       
  • Getting Started —— 新手入门,一般来说,是给完全的新手看的。建议初学者看看,这里面有一些建立观念的东西,有了这些建立观念的东西,后面的学习就比较容易了。
  • Guides —— 指南,指南是Xcode里面最酷最好的部分,学会看指南则大多数情况完全不用买书。Xcode文档里面的指南,就是一个一个问题的,从一个问题,或者系统的一个方面出发,一步一步详细介绍怎么使用Cocoa库的文档。一般程序员比较熟悉的是Reference,就是你查某个类、方法、函数的文档时候,冒出来的东西。那些其实是一点一点的细碎知识,光看那些东西就完全没有脉络。而Guides就是帮你整理好的学习的脉络。
  • Reference —— 参考资料。一个一个框架一个一个类组织起来的文档,包含了每个方法的使用方法。
  • Release Notes —— 发布说明。一个iOS新版本带来了哪些新特性,这样的信息,熟悉新iOS,比较不同iOS版本API不同,都需要参考这些文档。
  • Sample Code —— 示例代码。苹果官方提供的一些示例代码,帮助你学习某些技术某些API。非常强烈建议学习的时候参考,一方面光看文档有时候还是很难弄明白具体实现是怎么回事儿。另外一方面这些示例代码都是苹果的工程师写的,你从示例代码的变迁可以看到苹果官方推荐的代码风格流变。
  • Technical Notes —— 技术说明。一些技术主题文章,有空的时候可以浏览一下。往往会有一些收获。
  • Technical Q&A —— 常见技术问答。这是技术社区里面一些常见问题以及回答的整理。
  • Video —— 视频。目前主要是WWDC的视频,实际上是登录到开发者网站上去浏览的,这里就是快捷方式。想深入学习的话,一定不能错过,大量的看,不仅可以学好技术,还可以练好英文。
           总结一下,这里面的Reference、Release Notes、Sample Code、Technical Notes、Technical Q&A,一般来说只是备查的。主要要看的是Getting Started和Guides。 
然后下面是Topics,也就是话题,被分为:
  • Audio & Video —— 音视频
  • Languages & Utilities —— 语言和工具,Objective-C的一些知识,App Store的管理工具等。
  • Mathematical Computation —— 数学计算。
  • Xcode
  • Data Management —— 数据管理。
  • General —— 一般性的问题。
  • Graphics & Animation —— 图形和动画。
  • Networking & Internet —— 网络问题。
  • Performance —— 性能。
  • Security —— 安全。
  • User Experience —— 用户体验。
这里不多说,大多数都是顾名思义的问题。但是值得一提的就是有很多初学者说,我想好好了解下图形和动画的技术,但是文档里面找不到,这就只能说,你睁着大大的眼睛,为毛左看右看
          看不到呢?
          最下面是Frameworks(框架),分为:
  • Cocoa Touch Layer
  • Media Layer
  • Core Services Layer
  • Core OS Layer
这里我们先不讨论这个东西,后面会仔细讲。
               总体来说左边的导航区域就是用三种不同的维度,来帮你精准定位你需要的内容。
               现在我们看内容区域的右边。注意上面的文档过滤器。如下图:
               假设,你现在想看关于性能方面的Guides,那么你应该做的就是在左面的导航,点击Topics -> Performance,然后在右边的文档过滤器上面输入Guides。或者你也可以在左边的导航,点击
         Resource Types -> Guides,然后在文档过滤器里面输入 Performance。
              熟练使用导航和文档过滤器的话,学习就会非常方便快捷。
 文档导读

          前面我们讲Xcode的文档结构是在介绍如何能够快速定位到你要找的内容。但是很多人的问题可能是一开始就根本不知道要读什么。
          这里我们就介绍自学iOS开发应该遵循或者说我们推荐的必读文档的阅读顺序。
阅读顺序:
    1. 《马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today)》
    2. 《Your First iOS App》
    3. 《Your Second iOS App: Storyboards》
    4. 《Your Third iOS App: iCloud》
    5. 《iOS Technology Overview》
    6. 《iOS Human Interface Guidelines》
    7. 《Learning Objective-C: A Primer》和《Programming with Objective-C》
    8. 《iOS App Programming Guide》
    9. 《View Programming Guide for iOS》和《View Controller Programming Guide for iOS》
    10. 《Table View Programming Guide for iOS》
      首先应该看的是Getting Started里面的《马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today)》(中英文版本皆有,苹果官方的翻译)。这个文档讲的很浅,但是是建立概念的文档,     你以后在开发里面经常遇到的概念,在这里都有包含,特别注意是,这个文档看起来简单,但是每页下面的相关文章,不是选读,都是必读。
       即使是很多做了iOS开发很久的同学,其实也有很多概念上的误解,现代程序开发越来越简单,工具越来越强大,往往有些误解也可以继续前行,但是实际上不建立扎实的基础是很吃亏的,往往后    
面理解和解决一个不难解决小问题都要付出很多辛苦。
     阅读这个文档的目的和检测标准是,以后你看到iOS开发中的基本概念,都大致所有了解。
     读完《马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today)》后,应该去看Your XXX iOS App系列这个系列不是什么很难的文章,你也不必着急先去学习Objective-C,学什么C语言就更不要着急。我推荐的学习方法是有成就的逐步学习法。在学习系统体系架构、Objective-C之前,你可以先按照文档写一个全天下最简单的App,完成学习过程中第一个里程碑。在这个过程中不用担心有什么疑问,有什么不懂,先照着做就是。
     阅读这三个文档的目的和检测标准是,把这三个Demo App做出来在模拟器上跑起来。
     在这个过程中,你对开发工具的基本认识就建立起来了,也有了成就感,去了魅(就是消除了对iOS开发的神秘感)。
     再往下,建议你去看《iOS Technology Overview》(iOS技术概览),iOS不是一个技术,而是一堆技术,前一篇讲到文档导航区域的分类,框架分类的时候,我说不细讲的原因就在于此,你要做一个动画应该用Core Animation还是OpenGL?你要做一些文本相关操作应该用Core Text还是什么,就是看这里。
     学习现代的程序开发,语言和框架并重。我们Tiny4Cocoa叫做这个名字的原因就是,iOS/Mac开发者的代表往往就是这个Cocoa框架,就是这个SDK。大多数你所需要的功能都躺在框架里面,你知道框架的结构,你才知道怎么去寻找相关的技术资料。
     阅读这个文档的目的和检测标准是,遇到具体问题,知道应该去看哪方面的文档。
     再下来,建议阅读的是《iOS Human Interface Guidelines》,Mac/iOS平台虽然也是百花齐放各类程序、App都有,但是总体看来,大多数优秀App的UI看起来都和整个系统很协调。这和Windows以及很多其他平台完全不同。这是为什么呢?
    很大程度就归功于《Human Interface Guidelines》文化,所谓Human Interface Guidelines就是用户界面的规范,在苹果它还专门有一个缩写叫做HIG,是天条一样的东西。所有的App都推荐遵循HIG,遵循了HIG,你做的东西用户看起来就会觉得和整个系统很协调。即使是你要做一些创新的设计,你势必会打破HIG的限制,但是你这个时候仍旧应该遵循HIG的精神。
此外,你阅读HIG的很重要一点是了解整个UI结构和UE行为的逻辑机理,这样才能在你设计界面的时候有所依据。
阅读这个文档的目的和检测标准是,看到任何一个App,你可以知道它的任何一个UI是系统控件,还是自定义控件,它的层次关系等等。
     《Learning Objective-C: A Primer》是非常初级和简单的入门,适合先阅读。《Programming with Objective-C》超微复杂一点点,适合后阅读。
     一般人建议先学习语言,我反之建议先做了一个App,然后再学习语言。原因有几个,首先现代开发工具,往往不是用来开发控制台程序的,上来就会有框架,光懂语言不会使用IDE,甚至可能会更麻烦。再其次就是,其实现代语言发展到了面向对象以后,库往往比语言更复杂,更重要,或者说更多的时候,我们是在学习库,而不是语言,语言只是库的一个载体。
      比如,Delegate和Block等等都和Cocoa的UI异步机制关系紧密,光看代码,这些语言元素非常难以学习,也完全不知道其意义在哪里。
     阅读这个文档的目的和检测标准是,看得懂基本的Objective-C代码,方便后面的学习和阅读各种示例代码。
     《iOS App Programming Guide》基本上介绍的就是开发一个App的完整流程,包括App的生命周期、休眠、激活等等,里面介绍的细节颇多。正式开发第一个上线的App之前必看。或者开发了一个App,临到提交前必看才文档。
     阅读这个文档的目的和检测标准是,了解全部流程和很多细节问题。
     《View Programming Guide for iOS》和《View Controller Programming Guide for iOS》非常重要。View是整个图形界面里面最重要的概念。所有的图形、界面绘制都基于View。你看到的一切复杂的用户界面,就是各种不同的View的组合堆叠。
     View Controller是View和某种逻辑在一起的组合,本质上这种组合不是必须的,但是是大大降低编程复杂度的一种设计。很多人不懂什么是View什么是View Controller,这样写起代码来就很痛苦。
     阅读这个文档的目的和检测标准是,深刻理解什么是View,什么是View Controller,理解什么情况用View,什么情况用View Controller。
     UITableView是最重要的一个控件,是最常用的UI界面元素。在UICollectionView出现之前,大量的内容列表展示的自定义控件都是基于UITableView,比如很多书架、图片Grid其实都是UITableView做的。
     所以《Table View Programming Guide for iOS》非常重要,一定要好好阅读。
     阅读这个文档的目的和检测标准是,深刻理解UITableView/UITableViewController的理论和使用方法。
     我推荐的必读文档就这么多,仔细看的话,最多也就是今天就看完了。学习一个东西,如果有一点点耐心,有正确的方法其实不难,不是说脑子非要很聪明,大多数人都可以做到一个星期就学会iOS开发,其实就是读完这些文档,大多数人就会了。
     就像我强调了无数次,阅读英文文档不难,我自己从当年看英文文档非常吃力,必须查词典开始,认真的看英文文档,不会就查词典,一个多月过去,读英文文档就完全不需要查词典了。
     我们公司主程 @sycx 老师,也说他原来英语也很不好,甚至现在英语仍旧很烂,但是看英文文档完全没有问题,也就是几个星期的认真学习以后就突破了。
     其实学习iOS也如此。当然我不是说你看懂这10组文档就再也不用看别的了。而是说,如果你看懂了这10组文档,你就从初学者,或者是虽然会写一些程序,但是对iOS其实还不懂的状态,变成了一个入门者。
     我不希望这个文章可以一句一句的帮你学会iOS是什么,这个文章的目的是帮你快速入门。一旦你入门了,你再遇到问题该看什么,你就不需要我讲了,你自己就知道了。一旦入门了,你就会发现,Xcode里面别的文档讲的内容虽然不同,但是结构你已经很清楚了,你学习起来很方便。
     阅读本文的目的和检测标准是,遇到问题,知道看什么文档,想提升自己技术的时候,知道按照什么脉络自己组织阅读。
     
如何查询文档

最快捷的查询帮助文档的方法是不需要键入任何关键词的。你只需要在Xcode代码编辑器里,按住Option键,然后点击你想查询的关键词,就会获得关键词的帮助信息。如下图:

帮助信息会包括,一些简单的描述、哪个iOS操作系统开始提供,头文件,参考文档。头文件和参考文档是可以直接点击的。

即使你点击的关键字不是Cocoa库的内容,是自己代码里面的类或者方法,也可以获得相关的定义信息。如下图:

与之相关的热键是Command键加鼠标点击,即可跳到任何一个类名或者方法名的所定义的头文件。

快速查询帮助的另外一个方法是直接打开Quick Help栏,如下图,首先找到“右侧栏开关”,然后找到“Quick Help”开关即可打开。

Quick Help栏的作用机制是,只要它在打开状态,只要输入光标在什么关键字上,Quick Help栏就会显示跟关键字相关的简要帮助信息,跟Option键加点击的信息基本一致,但可能略微丰富一点。

写代码的时候,在大多数情况下,查询下快速帮助,看看头文件,就足以了。

搜索帮助

文档阅读界面最左面的上端的放大镜按钮就是搜索界面。下图是我们搜索uiimage,得到的搜索结果。

首先值得注意的是,结果也是分类的,分为Reference、System Guides、Tools Guides、Sample Code这四类。类别很利于我们快速找到我们需要的信息。前面已经介绍过类别,跟那个基本一致,参照即可。

另外需要注意的是,搜索框下面的选项,首先是Hits Must(什么样的结果才会命中),包含了三项:

  1. contain search term 这是最常见的就是结果包含搜索词
  2. start with search term 由搜索词开始
  3. match search term 必须完全匹配搜索词

然后是Languages(语言选项),包含Javascript、C++、Java、Objective-C、C语言。

然后是,Find in(在哪些文档库搜索),包含了你Xcode里面安装的全部文档库。

阅读文档

最后,我们简单介绍下怎么阅读文档。文档的阅读界面如下图:

值得注意的是,标题下面这几样:

  1. Inherits from 继承关系,继承自
  2. Conforms to 遵循什么协议
  3. Framework 属于什么框架
  4. Availability 从什么iOS版本开始支持
  5. Declared in 头文件
  6. Related sample code 相关例子代码
  7. Companion guide 相关的指南(UIImage没有,很多其他的类有)

在其次一个很重要的东西,其实是标题上面那一条窄窄的导航栏,那是一个多层树状导航栏,看文档的时候,可以点击那个栏的不同位置浏览。

其实这个栏包含了整个文档库的组织结构树状图,可惜只有在这个界面才能浏览。有兴趣的可以慢慢浏览,里面信息量其实非常大。 

iOS开发文档(中文)相关推荐

  1. 微网通联 一键认证iOS开发文档

    一.前置条件 请开发者提供应用的基本信息,包括:服务器IP地址,应用名称,Android (应用签名,应用包名),IOS(Bound ID),供我方在运营商报备. 微网会输出开发者,每个应用对接的Ap ...

  2. ujquery.fancybox api开发文档中文翻译版

    2016年11月17日11:57:14 基础使用 http://fancybox.net/howto 1. 首先,请确保您使用的是有效的DOCTYPE这是FancyBox看起来和功能正确需要. 2. ...

  3. AutoCAD 开发文档,AutoLISP 教程,.Net AutoCAD开发教程,VB AutoCAD开发教程,ObjectARX 开发指南,VBA AutoCAD开发教程,ActiveX 开发指南

    AutoCAD 开发文档, CAD开发者社区 - AutoCAD二次开发文档,CAD二次开发,CAD插件开发,中文CAD文档 - 中文CAD开发文档,CAD二次开发问题交流,优秀插件分享 AutoLI ...

  4. Z-Stack Home Developer's Guide—6. Clusters, Commands and Attributes中文翻译【Z-Stack Home 1.2.0的开发文档】

    这篇文章将翻译Z-Stack Home Developer's Guide开发文档中的6. Clusters, Commands and Attributes部分,在Z-Stack中Cluster.C ...

  5. android 中文开发文档

    android 中文开发文档 ,请点击一下连接,学习官方开发文档 https://developer.android.google.cn/training/basics/firstapp

  6. 数据库字典 - 微擎开发文档

    数据库字典 - 微擎开发文档 参考文档 account 平台账号表(公众号.小程序.PC等) 字段名 数据类型 说明 acid int(10) 主键 uniacid int(10) 所属帐号uniac ...

  7. .NET6使用DOCFX根据注释自动生成开发文档

    本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...

  8. 开发文档怎么编写_PoC 编写指南

    什么是 PoC PoC(全称: Proof of Concept), 中文译作概念验证.在安全界,你可以理解成为漏洞验证程序.和一些应用程序相比,PoC 是一段不完整的程序,仅仅是为了证明提出者的观点 ...

  9. Intel开发文档导读

    Intel开发文档导读 本文尝试追踪Intel开发文档的历史变迁,从最初的8086/88参考手册按时代顺序逐步演进到最新的Intel® 64 and IA-32 Architectures Softw ...

  10. BMS养殖后台管理系统开发文档

    BMS养殖后台管理系统开发文档 简介: ​ BMS是一个后台管理系统,基于经典技术组合(Spring Boot.Apache.Shiro.MyBatis.Thymeleaf)主要目的是通过项目系统的学 ...

最新文章

  1. JAVA自带监控工具的介绍
  2. golang中http协议实现
  3. C语言热电阻温度查表,热电阻分度表如何看?是什么意思?
  4. 学大数据需要具备什么基础和知识点?
  5. java构建树状结构工具类
  6. Dev C++ 下载地址和安装教程
  7. 记录设置VSCode加粗字体
  8. 基于HTML和CSS完成京东页面的制作
  9. 用计算机刻录光盘,教你怎么用电脑刻录数据光盘
  10. 二项式系数(枚举+二分+二项式定理)
  11. PS一键生成鎏金字特效插件(糖果滤镜Skin Eye Candy)
  12. python基础——数据结构之元组
  13. 双11是结束了,但这场没有硝烟的“战争”却没有结束
  14. 我的Java Web之路 - Spring(1)- 介绍
  15. U盘变为只有2M大小空间的解决方法
  16. bash shell实现2048小游戏详解
  17. 神州战神win10+ubuntu双系统制作
  18. win10系统崩溃、重装后 Hyper-V 导入虚拟机的使用
  19. 2021再看Deno
  20. C语言:念数字(结构体)

热门文章

  1. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器播放音乐代码
  2. tensorflow 中MNIST数据集下载
  3. 洛谷OJ P1802 5倍经验日 动态规划
  4. DBeaver执行SQL脚本文件
  5. 【ArcGIS小技巧视频教程】(3):五分钟搞定地图矢量化
  6. B站后台源码疑似泄露,作为程序员我们得注意哪些?
  7. 用阿里服务器搭建彩虹网代刷平台
  8. 用python编计算器_python编计算器
  9. c语言贪吃蛇 纯c,纯C语言贪吃蛇游戏
  10. 送给女朋友的情人节礼物---超贴心小程序