Skip to main content

Swift Overview

Introduction

Swift is a powerful and intuitive programming language developed by Apple for iOS, macOS, watchOS, and tvOS app development. It's designed to be:

  • Safe and secure
  • Fast and efficient
  • Modern and expressive
  • Interactive with Playgrounds

Key Features

1. Type Safety and Inference

// Type inference
let name = "Swift" // String
var version = 5.0 // Double

// Explicit type annotation
let language: String = "Swift"
var isAwesome: Bool = true

2. Optionals

// Optional declaration
var optionalName: String?
var requiredName: String

// Optional binding
if let name = optionalName {
print("Hello, \(name)!")
}

// Optional chaining
let uppercase = optionalName?.uppercased()

3. Protocol-Oriented Programming

protocol Vehicle {
var wheels: Int { get }
func start()
}

struct Car: Vehicle {
let wheels = 4

func start() {
print("Engine started")
}
}

Modern Features

1. SwiftUI

import SwiftUI

struct ContentView: View {
var body: some View {
Text("Hello, Swift!")
.padding()
}
}

2. Async/Await

func fetchData() async throws -> Data {
let (data, _) = try await URLSession.shared.data(from: url)
return data
}

// Usage
try await fetchData()

Memory Management

1. ARC (Automatic Reference Counting)

class Person {
let name: String
weak var friend: Person?

init(name: String) {
self.name = name
}

deinit {
print("\(name) is being deinitialized")
}
}

Next Steps

  1. Explore Swift Features
  2. Learn about Memory Management
  3. Dive into Protocol-Oriented Programming