(译)Getting Started——1.1.1 Start Developing IOS Today(开始IOS开发)
安装
本课程对于创建运行在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开发)的更多相关文章
- 【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)
2.1 iOS应用解析(iOS App Anatomy) 几乎所有的iOS应用都会用到UIKit框架中的组件.了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策. UIKit提 ...
- 【译】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 ...
- Start Developing iOS Apps (Swift) 开始开发iOS应用(Swift)
http://www.cnblogs.com/tianjian/category/704953.html 构建基础的用户界面 Build a Basic UI http://www.cnblogs.c ...
- 【译】Swift 字符串速查表
[译]Swift 字符串速查表 2015-12-18 10:32 编辑: suiling 分类:Swift 来源:CocoaChina翻译活动 10 5585 Swift字符串 招聘信息: iOS高级 ...
- [译]Vulkan教程(13)图形管道基础之Shader模块
[译]Vulkan教程(13)图形管道基础之Shader模块 Shader modules Unlike earlier APIs, shader code in Vulkan has to be s ...
- Swift - 语言指南,来自github学习
@SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排 ...
- 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 ...
- MAGIC XPA最新版本Magic xpa 2.4c Release Notes
New Features, Feature Enhancements and Behavior ChangesSubforms – Behavior Change for Unsupported Ta ...
- iOS 资源大全
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...
- iOS 学习资源
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...
随机推荐
- 把mysql的数据导出成txt
把mysql的数据导出成txt select a from b into outfile '/sqlfile/a.txt'; my.ini里需要设置secure_file_priv = d:/sqlf ...
- 在表单里面检查用户名是否存javascript
function CheckUser(fn) { $.get("/Pages/Handler/CheckExistHander.ashx", { "txt_UserNo& ...
- mysql创建用户、授权,revoke
use mysql;set password for root =password('haowumz');select host,user,password from user ;show gran ...
- ionicframework(一)
官方网站 http://ionicframework.com 然后在Get Start里面可以了解到,安装Ionic需要安装 Node.js. 文件来源 http://www.tuicool.c ...
- std::vector<char> 转 const char
std::stringstream oss; for(unsigned int i=0;i < buffer->size();i++){ oss<<(*buffer)[i]; ...
- jedis连接集群
/** * 集群版 */ @Test public void JedisJiuQun() { HashSet< ...
- python selenium --一些常用方法
· text 获取该元素的文本 · submit 提交表单 · get_attribute 获得属性值 text 用于获取元素的文本信息 下面把百度首页底部的声明打印输出 #coding=u ...
- Linux系统编程之----》信号
"===信号========================================================================================= ...
- 改动文件后缀的C语言实现
,其他配置项保持一致. step 3: 在"Old2New"目录下新建名为"update.bat"的批处理文件,该文件的内容为: ChangeS ...
- Android中Context的总结及其用法
在android中我们经常遇到这样的情况,在创建一个对象的时候往往需要传递一个this参数,比如:语句 MyView mView = new MyView(this),要求传递一个this参数,这个t ...