第二章 :Hello World 应用程序详解
第二章 :Hello World 应用程序详解
“Any fool can know. The point is to understand.” – Albert Einstein Hello World App 是怎么工作的第一个app是不是很简单 ,我希望你喜欢第一章节, 并且已经建好第一个iPhone app。 在们继续解释IOS SDK之前 , 让我们停下来详细去探讨下Hello Word app 。 这会帮助你理解swift语言基础和应用程序内部运行原理 。 到目前为止你跟着我们一步一步创建了自己的Hello Word app ,你读完第一章 ,你应该在心里会有一些疑问:
我想把重点放在探索Xcode环境上 ,所以我并没有解释上面的问题 。然而对每一个程序员来说 , 了解背后细节和把握IOS编程的基本概念都是必不可少的 。 计数概念也有优点难理解,特别如果你没有编程经验 。别担心,这只是开始 。继续学习 ,写更多的代码 。你将会对IOS编程有更深入的理解 。你只要尽你的努力去学习就好了。 我们来看一个现实生活中的例子 。 一个电视遥控器 ,它能无线远程方便的控制电视的音量。想要换台, 你只要点下对应的号码 ,想要增加音量 只要按下音量+就好了 。 我问你 ,你知道你按按钮后发生了什么吗 ?也许不知道 , 我想大多数人不知道远程遥控怎么控制电视 。你也许想着 遥控发送一个确定的信息给电子 触发电视去增加音量或者换台 。 在这个示例中,按钮与你交互就相当于隐藏在按钮背后的实现细节 。 界面和实现部分沟通是通过message 这个概念也可以被应用到IOS编程中。storyboard中的用户界面是接口(interface) ,代码是具体的实现(implementation) .用户界面元素 (eg .button )跟代码交互式通过message 如果你返回Hello World 项目 ,你添加在试图上的按钮就是 接口(interface) . viewController中的showMessage() 方法就是实现(implementation) 。当某人点击了按钮 ,就会给viewController 类发送一个信息去调用 showMessage()方法 。 我们刚刚证明的是一个面向对象中非常重要的概念 —封装 , 实现的showMessage()方法被隐藏起来 。Hello World按钮不知道它内部怎么工作 。 它只知道那个方法需要发送一个信息 。 showMessage()处理其他事情(展示”Hello Word”信息) 。 Behind the Touch现在你已经知道界面上的UI和后台的代码是通过messag交互 ,我们来看看用户点击了Hello Word按钮后到底发生了什么 。Hello Word按钮式怎样盗用showMessage()方法的 . 还记得怎样去建立界面上按钮和后台代码连接的 ?再次打开 Main.storyboard 选择Hello World 按钮 。点击untility区域下面的Connection Inspector按钮 。在Sent Events区域 ,你应该可以找到可用事件列表以及他们的响应方法 。”Touch Up Inside” 事件连接到了 在IOS中 , 应用程序是基于事件驱动编程的 。不管是一个系统对象 ,还是UI对象 。它监听某些事件,以确定该应用程序的流程 。针对UI对象(比如 按钮) ,它可以监听一个特定的触摸事件 。当这个事件被出发 , 对象将会去嗲用预先设定好得关联这个事件的方法 。 在Hello Word App中 ,当用户抬起手指放在按钮上,”Touch Up Inside “事件被触发 。因此,它调用了showMessage()方法去展示信息 。我们为了避免意外所以使用了”Touch Up Inside “事件而没有使用”Touch Down”,上面的插图展示了 事件流和我上面描述的。 showMessage 方法中的代码你现在应该对IOS编程有一个更好的理解了 , 但是showMessage 方法中的代码 是什么意思呢 ? 首先最重要的是:什么是方法?如前所述 , 大多数代码在app中以某种方式处理一些种类的对象。每个对象提供特定的函数完成特定的任务 (比如在界面展示信息)。 现在,我们来详细看看showMessage()方法 这里讲述了swift基本语法 ,不再赘述 。。 这里还有个关键字我们还没有讨论 , 我们看下包含在方法中的代码块 当我们开发一款APP ,我们不需要自己写所有的方法 ,比如我们不需要写怎样画一个弹出框框在界面上 。你可以利用IOS提供的SDK 去做一些繁重的任务 。IOS自带多种框架和工具包让你变的轻松 。 UIKit 提供了很多类来构建和管理你的应用程序的用户界面 这里我们依靠 let alertController = UIAlertController(title: "Hello World",message: "Hello World",preferredStyle: UIAlertControllerStyle.Alert)
在创建UIAlertController对象后 ,我们调用了addAction 去使它展示一个OK按钮 ,在swift中调用方法用dot(点 .) alertController.addAction(UIAlertAction(title: "OK",style: UIAlertActionStyle.Default,
handler: nil))
你可能疑惑你改怎样制定类中有哪些方法 还有这些方法的用法 。 配置好UIAlertController后 , 最后一行代码是把它显示在界面上 self.presentViewController(alertController,animated: true,completion: nil)
在swift中 ,使用self表示当前对象 。我们使用当前对象去展示alertController 加上动画。 View Controller 和类之间的关系storyboard中的控制器是怎么连接到我们的viewController.swift 的? 整件事情看起来并不重要,但事实并不是这样的 。其实这个控制器在我们创建”Single View Application”的时候自动连接到ViewController.swift 。 进入storyboard , 选择view controller ,在Utility区域 ,选择Identity Inspector 按钮。你将会发现ViewControlle被设置位自定义类中。 这就是用户界面控制器怎么和swift类连接起来的 Run按钮的幕后工作最后我想谈一下Run按钮 , 当你点击了Run 按钮Xcode 自动运行模拟器 。但是背后到底发生了什么 , 作为一个开发者你应该了解所有详细的事情。 整个项目可以被分为三个阶段 :编译 、打包、运行 编译 : 你也许会认为IOS了解swift语言 ,但事实上,IOS之会读机器语言,swift是让开发者读和写的 。为了让IOS了解app的源码 ,这里需要一个转换过程,把swift语言转换成机器语言。这一过程被称作”编译” 。Xcode中已经自带了一个内置的编译器来编译代码 。 打包:除了源代码 , 一个app经常还包含资源文件 ,比如图片 ,文本文件 ,声音文件等等 。这些资源被打包后组成一个app 。我们一般把这两个过程叫”Build” Run:启动模拟器加载用用程序 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |