Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SWIFT SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING BASH RUST

Swift Basics

Swift HOME Swift Intro Swift Get Started Swift Syntax Swift Statements Swift Output Swift Comments Swift Variables Swift Data Types Swift Type Casting Swift Operators Swift Strings Swift Arrays Swift Ranges Swift If...Else Swift Switch Swift While Loop Swift For Loop Swift Break/Continue Swift Collections

Swift Types & Functions

Swift Functions Swift Optionals Swift Enums & Patterns Swift Closures Tuples & Type Aliases

Swift Object Model

Swift OOP Swift Inheritance Swift Polymorphism Swift Protocols Swift Generics Swift Extensions Access Control Initializers Deinitializers Value Semantics & COW Equatable & Comparable

Swift Robustness & Async

Swift Error Handling Swift Concurrency Swift Memory

Swift Tooling

Swift Package Manager

SwiftUI Basics

SwiftUI Intro iOS Project Setup SwiftUI Layout SwiftUI Navigation SwiftUI Data Flow SwiftUI Lists & Forms SwiftUI Animations SwiftUI Gestures SwiftUI Modifiers & ViewBuilder SwiftUI Previews SwiftUI Accessibility SwiftUI Styling & Theming

SwiftUI Data & Architecture

Networking Persistence Persistence (Core Data) MVVM Architecture AppStorage & SceneStorage Testing SwiftUI

iOS Capabilities

Privacy & Permissions Push Notifications Widgets & Extensions Background Work Core Location App Clips Keychain Basics CloudKit File System Background URLSession MapKit

iOS Quality & Compliance

Localization Accessibility App Privacy In-App Purchases Analytics & Reporting Testing with XCTest

iOS Release & Distribution

Assets & App Icons Signing & Distribution TestFlight & App Store Ship Your First App

Swift Exercises

Swift Exercises Swift Quiz

Swift Exercises


Test your Swift skills with exercises from all categories:

Exercises

Tip: Sign in to track your progress - it's free.

0/176 done

Introduction3 exercises

Done

Get Started3 exercises

Done

Syntax3 exercises

Done

Statements3 exercises

Done

Output3 exercises

Done

Output Numbers3 exercises

Done

Comments3 exercises

Done

Variables3 exercises

Done

Print Variables3 exercises

Done

Variables Multiple3 exercises

Done

Identifiers3 exercises

Done

Constants3 exercises

Done

Variables Reallife3 exercises

Done

Data Types3 exercises

Done

Numbers3 exercises

Done

Booleans3 exercises

Done

Characters3 exercises

Done

Type Casting3 exercises

Done

Operators3 exercises

Done

Operators: Arithmetic3 exercises

Done

Operators: Assignment3 exercises

Done

Operators: Comparison3 exercises

Done

Operators: Logical3 exercises

Done

Operators: Precedence3 exercises

Done

Strings3 exercises

Done

Strings: Concatenation3 exercises

Done

Strings: Numbers3 exercises

Done

Strings: Special Characters3 exercises

Done

Strings: Unicode3 exercises

Done

Arrays3 exercises

Done

Arrays Loop3 exercises

Done

Arrays: Slices3 exercises

Done

Arrays: Indices & Bounds3 exercises

Done

Arrays: Multidimensional3 exercises

Done

Arrays Real-Life3 exercises

Done

Ranges3 exercises

Done

If / Else3 exercises

Done

If3 exercises

Done

Else3 exercises

Done

Elseif3 exercises

Done

If Shorthand3 exercises

Done

Nested If3 exercises

Done

If Logical3 exercises

Done

If Reallife3 exercises

Done

Switch4 exercises

Done

While Loop4 exercises

Done

Repeat While Loop3 exercises

Done

While Reallife3 exercises

Done

For Loop3 exercises

Done

For Nested3 exercises

Done

Foreach Loop3 exercises

Done

For Reallife3 exercises

Done

Break & Continue3 exercises

Done

Collections3 exercises

Done

Sets3 exercises

Done

Dictionaries3 exercises

Done

Collections: Operations3 exercises

Done

Collections: Sorting3 exercises

Done

Collections: Mutability3 exercises

Done

Collections: Protocols3 exercises

Done

Functions3 exercises

Done

Optionals3 exercises

Done

Enums3 exercises

Done

Closures3 exercises

Done

Tuples & Typealiases3 exercises

Done

OOP3 exercises

Done

Classes & Objects3 exercises

Done

Structs3 exercises

Done

Class Vs Struct3 exercises

Done

Class Properties3 exercises

Done

Class Methods3 exercises

Done

Self Keyword3 exercises

Done

Inheritance3 exercises

Done

Polymorphism3 exercises

Done

Protocols3 exercises

Done

Generics3 exercises

Done

Extensions3 exercises

Done

Access Control3 exercises

Done

Initializers3 exercises

Done

Deinitializers3 exercises

Done

Value Semantics & COW3 exercises

Done

Equatable & Comparable3 exercises

Done

Error Handling3 exercises

Done

Concurrency3 exercises

Done

Memory Management3 exercises

Done

Swift Package Manager3 exercises

Done

SwiftUI Intro3 exercises

Done

UI Project Setup3 exercises

Done

SwiftUI Layout3 exercises

Done

UI Layout Stacks3 exercises

Done

UI Layout Spacers Alignment3 exercises

Done

UI Layout Frames Padding3 exercises

Done

UI Layout Grids3 exercises

Done

UI Layout Geometryreader3 exercises

Done

UI Layout Safearea3 exercises

Done

UI Layout Lazy Stacks3 exercises

Done

SwiftUI Navigation3 exercises

Done

UI Navigation Stack3 exercises

Done

UI Navigation Tabview3 exercises

Done

UI Navigation Sheets3 exercises

Done

UI Navigation Programmatic3 exercises

Done

UI Navigation Destination3 exercises

Done

UI Navigation Toolbar3 exercises

Done

SwiftUI Data Flow3 exercises

Done

UI State3 exercises

Done

UI Binding3 exercises

Done

UI Observedobject3 exercises

Done

UI Environmentobject3 exercises

Done

UI Environment3 exercises

Done

SwiftUI Lists & Forms3 exercises

Done

UI List3 exercises

Done

UI Foreach3 exercises

Done

UI Section3 exercises

Done

UI Form3 exercises

Done

UI Inputs3 exercises

Done

UI List Swipe Actions3 exercises

Done

UI List Editmode3 exercises

Done

UI List Styles3 exercises

Done

SwiftUI Animations3 exercises

Done

UI Anim Implicit3 exercises

Done

UI Anim Explicit3 exercises

Done

UI Anim Transitions3 exercises

Done

UI Anim MatchedGeometry3 exercises

Done

UI Anim Spring3 exercises

Done

UI Anim Curves3 exercises

Done

SwiftUI Gestures3 exercises

Done

UI Gesture Tap3 exercises

Done

UI Gesture Longpress3 exercises

Done

UI Gesture Drag3 exercises

Done

UI Gesture Composing3 exercises

Done

UI Gesture Magnification3 exercises

Done

UI Gesture Rotation3 exercises

Done

SwiftUI Modifiers & ViewBuilder3 exercises

Done

UI Modifiers3 exercises

Done

UI Viewbuilder3 exercises

Done

UI Custom Modifiers3 exercises

Done

SwiftUI Previews3 exercises

Done

UI Previews Variants3 exercises

Done

UI Previews Darkmode3 exercises

Done

SwiftUI Accessibility3 exercises

Done

UI Accessibility Labels Actions3 exercises

Done

UI Accessibility Dynamic Type3 exercises

Done

UI Accessibility Focus3 exercises

Done

SwiftUI Styling & Theming3 exercises

Done

UI Color Schemes3 exercises

Done

UI Materials3 exercises

Done

UI Theming3 exercises

Done

Networking (URLSession)3 exercises

Done

UserDefaults3 exercises

Done

Core Data3 exercises

Done

MVVM3 exercises

Done

SwiftUI Storage3 exercises

Done

SwiftUI Testing3 exercises

Done

Privacy & Permissions3 exercises

Done

Push Notifications3 exercises

Done

Widgets & Extensions3 exercises

Done

Background Modes3 exercises

Done

Core Location3 exercises

Done

App Clips3 exercises

Done

Keychain3 exercises

Done

Cloudkit3 exercises

Done

Filesystem3 exercises

Done

Background URLSession3 exercises

Done

MapKit3 exercises

Done

Localization3 exercises

Done

Accessibility3 exercises

Done

App Privacy Listing3 exercises

Done

In-App Purchases3 exercises

Done

Analytics & Crash Reporting3 exercises

Done

Testing with XCTest3 exercises

Done

Assets & Icons3 exercises

Done

Signing & Distribution3 exercises

Done

TestFlight & App Store3 exercises

Done

Ship Your First App3 exercises

Done

Log in to track your progress

If you haven't already, sign up to become a W3Schooler, and get points for every exercise you complete.

As a logged-in W3Schools user you will have access to many features like having your own web page, track your learning progress, receive personal guided paths, and more.


The Exercise

The exercises are a mix of "multiple choice" and "fill in the blanks" questions. There are between 3 and 9 questions in each category. The answer can be found in the corresponding tutorial chapter. If you're stuck, or answer wrong, you can try again or hit the "Show Answer" button to see the correct answer.



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.