安装

      本课程对于创建运行在iPad、iPhone和iPod触摸屏上的应用来说,是一个完美的起点。该向导的四个板块可以作为构建你第一个应用的简单向导——内容包括了你需要使用的工具,主要的理念和最佳的实践。

前三个板块组成了一个教程,在这个教程中,你需要实现你所学到的知识。在最后一个教程的末尾,你将会创建一个显示待办列表的简单应用。

在你创建完成第一个应用之后,在你进入下一次努力之前,请阅读第4板块。该板块研究了你或许想要采用的技能和框架。

即使本系列教程会带你走过构建一个简单应用的每一步,但是一般来说,了解计算机编程的人员,特别是熟悉面向对象编程技术的人员从本指南受益最大。

获取工具

在你开始开发应用之前,先安装用于工作的开发环境:

在开发IOS应用之前,你需要准备:

1. 安装有OS X 10.9.4或之后版本系统的Mac电脑一部

2. Xcode(最新的版本)

3. IOS的SDK

Xcode是苹果推出的集成开发环境(IDE)。Xcode包含了资源编辑器,用户界面可视化编辑器和其它众多的元素。Xcode里继承的IOS SDK包含了工具集、编辑器和IOS开发所需的框架。

在Mac电脑上,从App Store里免费下载最新版本的Xcode,下载的Xcode里就包含了IOS的SDK。

Objective-C概念的简介

在这个教程中,你将使用Objective-C编辑语言。Objective-C语言是构建于C语言之上的一门编辑语言,它提供了面向对象的能力和动态的运行时。在Objective-C语言中,你会看到一些熟悉的元素,例如简单类型(int,float等等),结构体,函数,指针,流程控制结构(while,if...else等等)。你还会看到标准的C常规库,例如申明在stdlib.h和stdio.h文件里的东东。

对象是构建应用的模块

在构建一个IOS应用时,你会把大部分时间花费在对象上。

对象包装了与对象行为相关的数据。一个应用是相互联系的对象所组成的大型生态系统,这些对象通过与彼此之间的通信来完成特定的任务,例如显示可视化的界面,响应用户输入,存储信息等。应用和界面元素是由不同类型的对象所构建的,例如按钮,文本域,字符串,数组等。

类是对象的蓝图

对于任何类型的对象来说,类用来描述对象的行为和属性。

以同样的蓝图、以同样的方式构建的多个对象在结构上是同一的,对象的所有实例都共享着同样的属性和行为。你可以创建自己的类,也可以使用框架已经为你定义好的类。

通过创建某个类实例的方式来创建对象时,你需要为类的实例分配空间,并给它赋予合适的初始值。在创建对象时,你需要为对象分配足够的内存空间,并把对象所有的实例都初始化为0。初始化操作就是把对象的初始状态——也就是说,设置对象的实例变量和属性——设置为合理的值,最后把对象返回。初始化的意图是返回一个可用的对象。你既需要分配对象,也需要把对象初始化为可用。

Objective-C编程的一个基本理念就是类继承,即一个类继承父类的行为。如果一个类继承了一个父类,那么该类(即子类)就继承了定义在父类中的所有行为和属性。子类中可以定义自己额外的属性和行为,还可以重写父类的行为。因此,你可以只继承某个类的行为而不用重写该类已经存在的行为。

对象之间通过消息进行通信

在运行时,对象通过给其它对象发送消息来完成彼此之间的通信。在Objective-C体系中,对象通过调用其它对象的方法来实现对象之间的通信。

在Objective-C中,尽管多种方法都可以完成对象之间消息发送,但是最常用的方法是方括号语法。例如,如果你需要给XYZPerson对象的实例somePerson发送sayHello消息,那你可以这样做:

[somePerson sayHello];

左边的引用——somePerson——是消息的接收者,右边的消息——sayHello——是接收者里被调用方法的名称。换名话说,上面的代码被执行时,somePerson将会被发送sayHello消息。

Protocol定义了消息的契约

Protocol定义了在特定情况下对象的预期行为。protocol的形式是编程接口,任何类都可以实现协议。在使用protocol的前提下,两个继承不同父类的子类可以相互通信来完成某个目标,例如解析XML或复制对象等。

任何可以对外提供有用行为的类都可以申明接口来匿名的提供服务。任何类都可以选择性的适配protocol,实现protocol中的一个或多个方法,这样就可以使用类中的行为了。

(译)Getting Started——1.1.1 Start Developing IOS Today(开始IOS开发)的更多相关文章

  1. 【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)

    2.1  iOS应用解析(iOS App Anatomy) 几乎所有的iOS应用都会用到UIKit框架中的组件.了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策. UIKit提 ...

  2. 【译】Objectively Speaking 2: A Crash Course in Objective-C for iOS 6

    In this Objective-C tutorial, you will create a simple movie quotes quiz app. Along the way, you’ll ...

  3. Start Developing iOS Apps (Swift) 开始开发iOS应用(Swift)

    http://www.cnblogs.com/tianjian/category/704953.html 构建基础的用户界面 Build a Basic UI http://www.cnblogs.c ...

  4. 【译】Swift 字符串速查表

    [译]Swift 字符串速查表 2015-12-18 10:32 编辑: suiling 分类:Swift 来源:CocoaChina翻译活动 10 5585 Swift字符串 招聘信息: iOS高级 ...

  5. [译]Vulkan教程(13)图形管道基础之Shader模块

    [译]Vulkan教程(13)图形管道基础之Shader模块 Shader modules Unlike earlier APIs, shader code in Vulkan has to be s ...

  6. Swift - 语言指南,来自github学习

    @SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排 ...

  7. cocos2dx-lua_修改源码流程(cocos2dx-3.10、win7、Cocos Code IDE1.2)

    以下是在cocos2dx-3.10.win7.Cocos Code IDE1.2下假定你已经配置好了cocos2dx的环境.1.修改源代码步骤(1)在Cocos/Cocos2d-x/cocos2d-x ...

  8. MAGIC XPA最新版本Magic xpa 2.4c Release Notes

    New Features, Feature Enhancements and Behavior ChangesSubforms – Behavior Change for Unsupported Ta ...

  9. iOS 资源大全

    这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...

  10. iOS 学习资源

    这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...

随机推荐

  1. 把mysql的数据导出成txt

    把mysql的数据导出成txt select a from b into outfile '/sqlfile/a.txt'; my.ini里需要设置secure_file_priv = d:/sqlf ...

  2. 在表单里面检查用户名是否存javascript

    function CheckUser(fn) { $.get("/Pages/Handler/CheckExistHander.ashx", { "txt_UserNo& ...

  3. mysql创建用户、授权,revoke

     use mysql;set password for root =password('haowumz');select host,user,password from user ;show gran ...

  4. ionicframework(一)

    官方网站    http://ionicframework.com 然后在Get Start里面可以了解到,安装Ionic需要安装 Node.js. 文件来源 http://www.tuicool.c ...

  5. std::vector<char> 转 const char

    std::stringstream oss; for(unsigned int i=0;i < buffer->size();i++){ oss<<(*buffer)[i];  ...

  6. jedis连接集群

    /**        * 集群版        */       @Test       public  void JedisJiuQun()       {           HashSet< ...

  7. python selenium --一些常用方法

    · text  获取该元素的文本 · submit  提交表单 · get_attribute  获得属性值 text   用于获取元素的文本信息 下面把百度首页底部的声明打印输出 #coding=u ...

  8. Linux系统编程之----》信号

    "===信号========================================================================================= ...

  9. 改动文件后缀的C语言实现

    ,其他配置项保持一致.         step 3: 在"Old2New"目录下新建名为"update.bat"的批处理文件,该文件的内容为: ChangeS ...

  10. Android中Context的总结及其用法

    在android中我们经常遇到这样的情况,在创建一个对象的时候往往需要传递一个this参数,比如:语句 MyView mView = new MyView(this),要求传递一个this参数,这个t ...