📜  Swift 编程简介

📅  最后修改于: 2022-05-13 01:55:29.888000             🧑  作者: Mango

Swift 编程简介

Swift 是一种通用、多范式、面向对象、函数式、命令式和块结构的语言。它是对编程语言的最新研究的结果,采用Apple Inc. 的现代安全方法和软件设计模式构建。它是适用于 iOS 应用程序、macOS 应用程序、watchOS 应用程序、tvOS 应用程序的全新编程语言。很快,它成为了前 5 种编程语言之一,并在几年的时间里取代了老派的 Objective C,在苹果开发者社区中广受欢迎。

Swift 编程语言的演变:
Swift 语言由 ' Chris Lattner ' 开发,旨在解决 Objective C 中存在的困难。它是在Apple 的 2014 年全球开发者大会 (WWDC)上以Swift 1.0版本推出的。很快,它在 2014 年升级到了 1.2 版Swift 2.0是在WWDC 2015上推出的。最初, 2.2版于2015 年 12 月 3 日Apache 许可证 2.0下成为适用于 Apple 和 Linux 平台的开源软件。它主要设计用于 Apple 的 Cocoa 和 Cocoa Touch 框架以及为 Apple 产品编写的大量现有 Objective-C 代码。 Swift 语言从版本名称1.0、2.0、3.0 和 4.0及更高版本发布以来经历了重大变化。当前发布的版本是Swift 4.2以及Swift 4.3 和 Xcode 10的 beta 版本。

变化包括以下方面:

  • 语法变化
  • 库和方法名称更改
  • 新功能集成
  • 新添加的库,如 Core ML 和 AR 套件以及 Vision 框架

最新版本(即Swift 4及更高版本)的主要和有希望的变化包括以下内容:

  • 更快、更易于使用的字符串保留了 Unicode 正确性并增加了对创建、使用和管理子字符串的支持。
  • 用于 Swift 类型的类型安全、高效、可扩展的键值编码的智能键路径。
  • 对创建和操作 Dictionary 和 Set 类型的增强。
  • 将归档和序列化支持扩展到结构和枚举类型,并为序列化为 JSON 和 plist 等外部格式启用类型安全。
  • 强制独占访问内存。
用 Swift 编程
// Basic Swift Program
import UIKit

var str1 = "Hello geeks!"
var str2 = "How are you?"
print (str1)
print (str2)

输出:

Hello geeks!
How are you?

运行:可以在 Online IDE for Swift 上测试代码

注意: Import 语句用于将任何 Objective-C 框架或库直接导入 Swift 程序。 var 关键字用于变量, let 关键字用于常量。没有必要;对于终止,如果程序员使用它,编译器不会显示错误。

Swift 编程语言的一般特性
  • Swift 中面向协议的编程范式:面向协议的编程是从Swift 2.0发布时开始使用的一种新的编程范式。在这种方法中,设计协议类似于类,但与面向对象编程相比,它的作用更好。由于结构和枚举等概念无法正常工作,因为结构不能从另一个结构继承,因此枚举也不能从另一个枚举继承。因此,作为基本面向对象概念之一的继承不能应用于值类型。另一方面,值类型可以从协议继承。面向协议的范例中使用的概念是:
    1. 协议扩展
    2. 协议继承
    3. 协议组成

  • Swift 中的可选类型变量:Swift中有一条规则,即在运行应用程序时,每个声明的变量都必须有一个与之关联的值。如果发现变量的值为null 或 nil ,则应用程序崩溃。因此,Apple 的工程师以一种非常流畅和智能的方式提出了一个解决方案,并提出了一个他们称之为可选的概念。在声明任何变量时。例如:
    var number: Int?

    ' ? ' 是一种表示法,与可选相关的变量称为可选类型变量。使用选项声明的变量基本上是一个安全变量,如果找到 nil 则值,Xcode 和应用程序只是忽略该变量并且不会崩溃。可选的安全展开的概念用于实现此功能。

  • Encodables、Decodables 和 Delegate 方法:在大多数应用程序中,或者说每个日常应用程序都使用数据,并且数据安全性是一个主要问题。这些应用程序涉及网络连接、将数据保存到磁盘或向 API 和服务提交数据。在传输数据时,这些任务数据需要在中间格式之间进行编码和解码。 Apple 已经建立了自己的库来解决这些问题,即 Encodable 和 Decodable。这些是为数据编码和解码的标准化方法定义的 Swift 标准库。委托方法是 Swift 中面向协议的方法和抽象类实现的一部分。

好处:

  • Swift 是开源的并且易于学习。
  • Swift 快速、安全且富有表现力。
  • Swift 平易近人且熟悉(Swift 程序员可以将 C 和 C++ 代码添加到 Swift 应用程序中。)
  • Swift 是 Apple 开发的未来。
  • Swift 已为企业做好准备。

缺点:

  • 语言还很年轻,人才库有限。
  • Swift 被认为是一个“移动目标”,因为它是一种新语言,而且 Swift 程序员的数量很少。
  • 与第三方工具和 IDE 的互操作性差
  • 缺乏对早期 iOS 版本的支持。