从初学者的角度来看Swift

随着新发布的Swift 5,现在是学习这种语言的好时机。

您对iPhone应用程序甚至MacOS应用程序有想法吗? Swift 5是您想要开始学习的知识,以使您朝正确的方向前进。 当然,您可以使用Objective-C编写应用程序,但是Swift越来越流行,并且似乎在总体上来说是一种更加容易的语言选择。 Xcode是一个免费的IDE,可以让您在几分钟之内启动并编写第一个应用程序(前提是您具有macOS)。

作为初学者,我将在开发我的第一个iOS应用程序时开始学习Swift的想法。 很多时候,当您学习一种语言时,都会从经验丰富的程序员那里获得意见,这些程序员在Swift方面拥有丰富的经验。 尽管这些信息是无价的,但其中很多信息可能会让您望而却步。 无论您是掌握几种语言,还是将Swift作为母语,我相信Swift都是很棒的。

Xcode IDE

在不首先提及Xcode的情况下如何谈论Swift? 有些人喜欢它,有些人讨厌它,但是在过去几周学习并习惯了它的功能之后,我不得不说我非常喜欢它。 这是一个设计精美的IDE,具有您期望的所有功能以及某些功能。 轻松管理文件和项目,并排打开多个文件,一个强大的调试器,甚至是一个称为Playgrounds的内置功能。 在操场上,您可以玩得开心。 在这里,您可以测试和试验代码并实时查看结果。 这是学习的绝佳工具。

语言文件

与大多数语言一样,您将可以从开发人员那里找到该语言的官方文档。 斯威夫特也不例外。 Apple免费提供了Swift编程语言和API设计指南。 它详细介绍了您需要了解的有关该语言的所有信息,并且对于您遇到的困难提供了重要参考。 这些文档是编程的新手或具有其他语言的丰富经验,将非常方便,只需轻按一下按钮即可使用。

语言的优雅

Swift绝对是一门美丽的语言。 有很多小事情使这感觉很现代。 作为使用这种语言的初学者,很多事情立即引起了我的注意。 这些事情可能不是特定于语言的,或者总体上不是很重要,但是它们在某些情况下改变了我的思维方式。 总体来说,这也增加了我编写Swift的乐趣。

  • 类型推断 :与其他语言(如JavaScript或Python)一样,您可以声明变量而不必指定数据类型。 将表达式的结果保存在变量名中时,可以执行相同的操作。 Java,C ++和C#是我最熟练的语言,不必指定变量类型,这会有些新鲜。
  • 结构 :结构体是Swift中的命名类型之一,它允许您封装属性(局部变量)和方法。 如果您熟悉OOP(面向对象编程),则它们类似于类,但有一些区别。 在Swift中,结构没有继承。 这使结构更加简单,而不必担心您将继承的所有内容。 同样,结构是值类型,类是引用类型。 当将Stucts传递到参数中,放入数组中或什至分配给另一个变量时,它实际上是被复制的。 Swift中到处都有结构。 数组,整数,字典,甚至字符串都是Structs的一些示例。 记住这一点可以帮助您解决可能遇到的一些问题,或者至少可以改变您的书写方式。
  • 可选项目:目前,我与可选项目之间存在一点爱恨交加的关系。 您将在Swift中随处可见这些内容。 可选参数将包裹一个值,例如Int,数据类型将显示为“ Int?”。 问号确实是表明它是可选项的好方法,因为您会问自己:“也许里面有一个Int?”。 绝对正确。 可选是带有两种情况的枚举。 它已设置或未设置。 Optional.none与nil文字相同,而Optional.some(wrapped)表示已设置并且有一个值。 在大多数情况下,必须先打开可选项,然后才能使用其中的值。
  • 内部和外部参数名称:刚开始时,这实际上对我来说很陌生,但在阅读并有一些实际操作经验之后,我认为这非常令人惊讶。 是的,方法有两个参数名称。 在调用方法时使用了named的外部参数,目的是使方法调用读起来更像英语。 有了命名良好的变量和方法,只需看一眼代码行并能够准确解释其作用即可一目了然。
  • 模型视图控制器:这是我第一次使用MVC架构模式。 基本上,它将项目分为三个类别,将其模块化以实现特定的目的。 我绝不是专家,但是我相信我对功能有非常基本的了解。 该模型是您所有业务逻辑所在的位置。 创建模型以独立于视图运行。 视图是用户体验开始的地方。 用户与之交互或看到的屏幕上的所有内容都在视图中。 这几乎是UI。 现在是控制器或ViewController,在Swift中称为它。 在模型和视图之间来回显示模型中的更改。 控制器通常没有那么多代码行,如果是的话,也许您有一些更适合用于模型或第二个控制器中的东西。 通常,控制器是该体系结构中最少可重用的部分,因为它的使用是相当特定的,而不是可以单独运行的模型。

我真的可以继续打动那些让我印象深刻的小事情,但是如果您有兴趣自己阅读它们,我将在这里留下更多。

  • 属性观察者(didSet / willSet)
  • 惰性变量
  • 初始化中
  • 数组索引
  • 可数范围

如何开始

对于每个人来说,这都将有所不同,具体取决于学习风格的偏好。

  1. 您将需要有一台在macOS上运行的计算机。 有某些变通办法,例如hackintosh,但对于最真实的体验,尤其是刚开始时,这是您的最佳选择。
  2. 去下载Xcode! 它在App Store上是100%免费的。 您无需投入任何资金即可入门。 IDE是免费的。 该文档是免费的。 触手可及的专业工作环境。 稍后,您将需要支付年度开发人员费用才能将应用发布到商店,但这对将来的您来说是个问题。 如果您最终学习Swift并开发了一个应用程序,那么您已经投入了很多精力,精力和眼泪,那么对自己进行一点投资就不会太在意。
  3. 您现在拥有Xcode了吗? 有很多资源可以帮助您入门。 我强烈推荐YouTube上的免费史丹佛课程。 在iTunes上也可以使用。 Udemy是课程的又一重要资源,它将带您从头到尾贯穿Swift和应用程序开发周期。 YouTube,Reddit,新兵训练营,独立网站,都有大量资源可以帮助您入门。 刚开始,您将在途中学到很多。