Elizabeth is an API testing tool written in Swift and SwiftUI.
This project was developed as part of a Swift programming course, covering 8 fundamental chapters: The Basics, Basic Operators, Strings and Characters, Collection Types, Control Flow, Functions, Closures, and Enumerations.
Important
This is intentionally kept simple for now.
The project is limited to the first 8 chapters, so a lot of core stuff is missing.
I'll clean this up and add more later.
macOS 15.7 or later
Xcode 26.2 or later
Checklist tracking Swift concepts from The Swift Programming Language guide. Each topic represents a chapter with practical examples in the app.
The Basics
- Declaring Constants and Variable
- Type Annotations
- Naming Constants and Variables
- Printing Constants and Variables
- Comments
- Semicolons
- Integers
- Integer Bounds
- Int
- UInt
- Floating-Point Numbers
- Type Safety and Type Inference
- Numeric Literals
- Numeric Type Conversion
- Type Aliases
- Booleans
- Tuples
- Optionals
- Nil
- Optional Binding
- Providing a Fallback Value
- Force Unwrapping
- Implicitly Unwrapped Optionals
- [-] Error Handling
- Assertions and Preconditions
- Debugging with Assertions
- Enforcing Preconditions
Basic Operators
- Assignment Operator
- Arithmetic Operators
- Addition (+)
- Subtraction (-)
- Multiplication (*)
- Division (/)
- Remainder Operator
- Unary Minus Operator
- Unary Plus Operator
- Compound Assignment Operators
- Comparison Operators
- Ternary Conditional Operator
- Nil-Coalescing Operator
- Range Operators
- Logical Operators
- Combining Logical Operators
- Explicit Parentheses
Strings and Characters
- String Literals
- Multiline String Literals
- Special Characters in String Literals
- Extended String Delimiters
- Initializing an Empty String
- String Mutability
- [-] Strings Are Value Types
- Working with Characters
- Concatenating Strings and Characters
- String Interpolation
- Unicode
- Unicode Scalar Values
- Extended Grapheme Clusters
- Counting Characters
- Accessing and Modifying a String
- String Indices
- Inserting
- Removing
- Substrings
- Comparing Strings
- Unicode Representations of Strings
Collection Types
- Array
- Array Type Shorthand Syntax
- Creating an Empty Array
- Creating an Array with a Default Value
- Creating an Array by Adding Two Arrays Together
- Creating an Array with an Array Literal
- Accessing and Modifying an Array
- Iterating Over an Array
- Set
- Creating and Initializing an Empty Set
- Creating a Set with an Array Literal
- Accessing and Modifying a Set
- Iterating Over a Set
- Performing Set Operations
- Fundamental Set Operations
- Set Membership and Equality
- Dictionary
Control Flow
- For-In Loops
- While Loops
- While
- Repeat-While Loops
- Conditional Statements
- If
- If Expression
- Switch
- Switch Expression
- Interval Matching
- [-] Tuples
- [-] Value Bindings
- If
- Patterns
- If
- For-In
- Control Transfer Statements
- Continue
- Break
- Fallthrough
- Labeled Statements
- Early Exit
- Deferred Actions
- Checking API Availability
Functions
- Defining and Calling Functions
- Function Parameters and Return Values
- Function Argument Labels and Parameter Names
- Function Types
- Using Function Types
- Function Types as Parameter Types
- Function Types as Return Types
- Nested Functions
Closures
- Closure Expressions
- Trailing Closures
- Capturing Values
- Closures Are Reference Types
- Escaping Closures
- Autoclosures
Enumerations
- Enumeration Syntax
- Matching Enumeration Values with a Switch Statement
- Iterating over Enumeration Cases
- Associated Values
- Raw Values
- Implicitly Assigned Raw Values
- Initializing from a Raw Value
- Recursive Enumerations
- https://docs.swift.org/swift-book/documentation/the-swift-programming-language/
- https://developer.apple.com/documentation/SwiftUI/Migrating-from-the-observable-object-protocol-to-the-observable-macro
- https://developer.apple.com/documentation/swiftui/environment
- https://developer.apple.com/documentation/SwiftUI/Applying-Liquid-Glass-to-custom-views
- https://developer.apple.com/documentation/swiftui/progressview