用Swift 3向iOS应用打个招呼–第1部分

这个故事是关于一个对iOS和Swift不了解的Android开发人员如何开发适用于iPhone的应用程序。 基本上,关于我的故事,由于对Java / Android已有多年的了解,所以希望学习iOS。

iOS和Android之间的概念,设计,编程和生命周期完全不同。 两者在某些方面都赢得了比赛。

首先,我决定使用Swift 3编程语言在iOS中开发我的第一个hello world应用程序。 选择Swift的原因是Objective -C变得过时了,多年来,Swift将成为开发iOS应用程序的官方语言。 此外,如果您了解基于Typscript的JavaScript,那么使用Swift中的几个新概念即可轻松学习Swift。 在高级Swift,Typescript和Android上,Kotlin在语法上相似,并且有许多共同点。

让我们开始吧。 如果您想学习iOS应用开发,则需要Macbook(pro),8 GB RAM(安全)和XCODE 8+。 另外,您需要一个Apple开发人员帐户。

打开XCode,然后创建新项目并立即选择单视图应用程序。 接下来填写基本详细信息项目名称,等等。

创建成功后,IDE将打开,文件浏览器位于左侧。 实用程序面板在右侧,调试面板在底部。 在项目下的文件浏览器中,您会看到几个文件,这些文件是自动创建的,并且内部的骨架代码也是自动创建的。

  1. Main.storyboard-将在此处设计每个屏幕的所有应用程序UI视图。 按钮,文本视图,文本区域等将移至此处。 在这里,您将链接所有UI组件以进行事件处理(我们将在本节的后面部分看到)
  2. ViewController.swift —此文件是故事板上您应用程序屏幕的关联文件,每个UI屏幕都可以与Viewcontroller文件关联。 UI组件所有事件处理的代码将在此处处理。
  3. AppDelegate.swift-此swift文件具有适用于所有应用程序UI生命周期状态的处理程序方法。 这意味着AppDelegate的“关注区域”正在处理特殊的UIApplication状态。

有关生命周期的详细信息,请单击此处。

第1步-为您的应用创建UI

  1. 第一步是为您的应用创建UI。 对于我们的第一个hello应用程序,我们将具有标签,文本框和按钮。
  2. 单击按钮时,应使用文本框的内容更新标签。

简单不是吗。

  1. 点击main.storyboard,
  2. 从右下角的对象库中拖动标签对象,并将其放在故事板内部的视图中,如下所示。 然后从“实用程序”面板的“属性检查器”选项卡中更改标签值。

3.同样,将“文本框”和“按钮”添加到屏幕。 完成后,屏幕将如下所示。 您可以在实用程序面板的“属性检查器”选项卡中更改标签,颜色,大小和所有其他属性。

接下来是我们链接UI组件以进行事件处理。 我们应用程序的用例是使用标签添加到文本框输入的“ hello”文本来更新标签。

  1. 单击窗口右上角的助手编辑器按钮。 该按钮将如下所示。 这将打开故事板内部的viewcontroller.swift文件。

2.要链接UI组件以获取值和处理事件,在Swift和Xcode中,您只需将组件从情节提要板拖放到视图控制器即可。 比在android中要编写许多代码行更容易。

3.单击情节提要中的CTRL +文本输入,然后将其拖放到视图控制器文件中。

4.拖放后,它将打开一个小弹出窗口,您需要在其中选择此链接是从UI组件获取/更新值还是处理事件。 由于我们得到的是label或textbox的值,因此我们需要在弹出窗口中选择如下的outlet选项。

5.要处理按钮单击事件,请重复上述相同的方式,但要记住从弹出窗口中选择“操作”作为连接。 您还需要被授权为事件处理方法提供名称。 本示例使用“ doButtonClick”作为方法的名称。

6.添加一段代码以用“ Hello” +文本框的值更新标签的值。 更新后的代码如下。

  @IBAction func doButtonClick(_ sender:Any){ uilabel.text =“ Hello” + textfield.text!  } 

7.不要担心代码结尾的感叹号“!”。 它与“可选展开”的概念有关。 我们将在故事的下一部分中进行介绍。

对于此示例,您无需在Appdelegate.swift中进行任何更改。 viewcontroller.swift内部的代码如下所示

  //// ViewController.swift // HelloProject /////创建于10/12/17 .//版权所有©2017。//importUIKitclass ViewController:UIViewController {@IBOutlet弱变量文本字段:UITextField!@ IBOutlet弱变量uilabel:UILabel!任何可以重新创建的资源。} @ IBAction函数doButtonClick(_ sender:Any){uilabel.text =” Hello“ + textfield.text!}} 

在执行代码之前,我需要简要介绍一下代码中的两个注解@IBOutlet和@IBAction。 前者用于表示编译器,该变量用于获取数据并将其发送到UI组件,后者用于处理UI组件的事件,例如单击,聚焦等。

我们来到该部分以查看您创建的代码的输出。 选择要在其上执行代码的设备,然后从左上角看到该应用程序,如下图所示。 我选择了iPhone 6s。 选择后,单击运行按钮,这将启动仿真器,部署并打开应用程序。

以下是该应用程序工作原理的视频

请参阅以下有关整个应用程序开发的视频。

完整代码可在github https://github.com/MeiyappanKannappa/hello-world-ios-swift3中找到

在我开始学习iOS之后,我的第一个想法是,Swift编程语言类似于Typescript,Kotlin。 并且与Android相比,IOS应用开发的学习曲线要​​少。 而且iOS性能更快。 此外,iOS模拟器比Android模拟器要好得多。

在本系列的下一部分中,您可以期待一个有关Swift 3中可选展开的故事。