Skip to content

iOS 开发 - Swift Playground

使用 Swift 进行 iOS 开发 - Swift Playground

Section titled “使用 Swift 进行 iOS 开发 - Swift Playground”

Xcode Playground 提供了一个用于编写和试验 Swift 代码的交互式环境。它们非常适合学习 Swift、原型化算法或测试小段代码,而无需创建完整的 iOS 项目的开销。在本章中,我们将使用 Playground 介绍一些基本的 Swift 概念:

  • 变量 (Variables) 和常量 (Constants)
  • 字典 (Dictionaries)
  • 数组 (Arrays)
  • 循环 (控制流 - Control Flow)
  • 类 (Classes) 和对象 (Objects)(简要介绍)

注意:这只是一个基本概述。有关深入的 Swift 教程,请参阅 Apple 官方的 Swift 文档或专门的 Swift 学习资源。

  1. 打开 Xcode。
  2. 从菜单栏中,选择 文件 (File) > 新建 (New) > Playground…
  3. 选择 ‘iOS’ 标签页(或 macOS/tvOS,如果偏好,但在应用开发上下文中 iOS 更常见)。
  4. 选择一个模板,通常选择 ‘Blank’ 用于一般的 Swift 实验。点击 ‘Next’。
  5. 为你的 Playground 命名(例如,‘MySwiftPractice’)并选择一个保存位置。点击 ‘Create’。

Playground 窗口将打开,通常包含一行 import UIKit 和 var greeting = "Hello, playground"。你可以开始输入 Swift 代码。当你输入时,Playground 会执行代码,结果会显示在侧边栏或代码行旁边。

让我们探索一些 Swift 基础知识:

序号 (Sr.No)基本概念和描述 (附现代 Swift 示例)
1变量 (Variables) 和常量 (Constants)
let 定义一个常量(赋值后其值不能更改)。var 定义一个变量(其值可以更改)。
Swift 是类型安全的 (type-safe) 并使用类型推断 (type inference),但你也可以显式声明类型 (declare types explicitly)。

swift<br>let pi: Double = 3.14159<br>var score: Int = 0<br>score = 100 // 变量可以更改<br>// pi = 3.0 // 错误:无法赋值给 let 常量<br><br>let message = "Welcome to Swift!" // 类型推断为 String<br>var currentTemperature = 22.5 // 类型推断为 Double<br>
2字典 (Dictionaries)
字典存储无序的键-值 (key-value) 对。键必须是唯一的且类型相同。值可以是任何单一类型。

swift<br>// 显式类型声明<br>var ages: [String: Int] = ["Alice": 30, "Bob": 24]<br><br>// 类型推断<br>var highScores = ["Player1": 1500, "Player2": 1200]<br><br>// 访问值<br>if let aliceAge = ages["Alice"] {<br> print("Alice's age is \(aliceAge)")<br>}<br><br>// 添加或更新<br>highScores["Player3"] = 1800<br>highScores["Player1"] = 1550<br><br>// 迭代<br>for (name, age) in ages {<br> print("\(name) is \(age) years old.")<br>}<br>
3数组 (Arrays)
数组存储同类型值的有序列表。相同的值可以出现多次。

swift<br>// 显式类型声明<br>var shoppingList: [String] = ["Eggs", "Milk", "Bread"]<br><br>// 类型推断<br>var primeNumbers = [2, 3, 5, 7, 11, 13]<br><br>// 访问元素(零索引 - zero-indexed)<br>let firstNumber = primeNumbers[0] // 2<br><br>// 添加元素<br>shoppingList.append("Apples")<br>shoppingList.insert("Butter", at: 1)<br><br>// 迭代<br>for item in shoppingList {<br> print("Buy: \(item)")<br>}<br><br>for (index, number) in primeNumbers.enumerated() {<br> print("Prime at index \(index): \(number)")<br>}<br>
4循环 (Loops) (控制流 - Control Flow)
循环用于多次执行一段代码块。

For-In 循环 (For-In Loop): 遍历序列(如数组、字典或范围)。
swift<br>for i in 1...5 { // 闭合范围 (1, 2, 3, 4, 5)<br> print("Current number is \(i)")<br>}<br><br>let names = ["Anna", "Alex", "Brian"]<br>for name in names {<br> print("Hello, \(name)!")<br>}<br>

While 循环 (While Loop): 只要条件为真就执行。
swift<br>var countdown = 3<br>while countdown > 0 {<br> print("\(countdown)...")<br> countdown -= 1<br>}<br>print("Blast off!")<br>

Repeat-While 循环 (Repeat-While Loop): 与 while 循环类似,但条件在循环体至少执行一次 之后 进行评估。
swift<br>var attempts = 0<br>repeat {<br> print("Attempting connection... (attempt #\(attempts + 1))")<br> attempts += 1<br> // 模拟一个可能变为假的条件<br>} while attempts < 3 && Bool.random() // 示例条件<br>
5类 (Classes) 和对象 (Objects)(简要介绍)
类是创建对象的蓝图。对象是类的实例。类可以有属性 (properties)(数据)和方法 (methods)(函数)。

swift<br>class Dog {<br> var name: String<br> var breed: String<br><br> init(name: String, breed: String) {<br> self.name = name<br> self.breed = breed<br> }<br><br> func bark() {<br> print("Woof! My name is \(name).")<br> }<br>}<br><br>// 创建一个对象(Dog 类的实例)<br>let myDog = Dog(name: "Buddy", breed: "Golden Retriever")<br><br>// 访问属性和调用方法<br>print("My dog's breed is \(myDog.breed).")<br>myDog.bark() // Output: Woof! My name is Buddy.<br><br>let anotherDog = Dog(name: "Lucy", breed: "Poodle")<br>anotherDog.bark()<br>
Swift 还有 structs(值类型),它们非常常见,尤其适用于简单的数据模型。类是引用类型。