Bird
Raised Fist0
iOS Swiftmobile~3 mins

Why Variables (let, var) and type inference in iOS Swift? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if your app could remember and change information all by itself, without you writing extra code every time?

The Scenario

Imagine you are building a simple app that tracks a user's score and name. Without variables, you would have to write separate code for every single value and update it everywhere manually.

The Problem

This manual approach is slow and confusing. You might forget to update a value or mix up data types, causing bugs that are hard to find. It's like trying to remember every detail without writing anything down.

The Solution

Using variables with let and var lets you store and update information easily. Swift's type inference means you don't always have to say the data type explicitly, making your code cleaner and faster to write.

Before vs After
✗ Before
var score: Int = 0
score = 10
var name: String = "Alice"
✓ After
var score = 0
score = 10
let name = "Alice"
What It Enables

This lets you write clear, safe, and flexible code that can change as your app runs, without extra hassle.

Real Life Example

Think of a game app where the player's score changes constantly, but their username stays the same. Using var for score and let for username makes this easy and error-free.

Key Takeaways

Variables store data that can change (var) or stay constant (let).

Type inference lets Swift guess the data type, so you write less code.

This makes your app code simpler, safer, and easier to update.

Practice

(1/5)
1. What does the keyword let do in Swift?
easy
A. Creates a constant that cannot be changed
B. Creates a variable that can be changed
C. Declares a function
D. Defines a class

Solution

  1. Step 1: Understand let usage

    The keyword let is used to declare constants in Swift, which means their value cannot be changed after assignment.
  2. Step 2: Compare with var

    Unlike var, which declares variables that can change, let makes the value fixed.
  3. Final Answer:

    Creates a constant that cannot be changed -> Option A
  4. Quick Check:

    let = constant [OK]
Hint: Remember: let = fixed value, var = changeable value [OK]
Common Mistakes:
  • Confusing let with var
  • Thinking let allows value changes
  • Mixing let with function declaration
2. Which of the following is the correct way to declare a variable named score with initial value 10 in Swift?
easy
A. let score = 10
B. var score = 10
C. score var = 10
D. variable score = 10

Solution

  1. Step 1: Identify variable declaration syntax

    In Swift, var is used to declare variables that can change, and the syntax is var name = value.
  2. Step 2: Check each option

    var score = 10 uses correct syntax. let score = 10 declares a constant, not a variable. score var = 10 and variable score = 10 are invalid syntax.
  3. Final Answer:

    var score = 10 -> Option B
  4. Quick Check:

    Variable declaration = var name = value [OK]
Hint: Use var for variables, let for constants [OK]
Common Mistakes:
  • Using let instead of var for variables
  • Incorrect keyword order
  • Using non-existent keywords like variable
3. What will be the output of this Swift code?
var name = "Alice"
name = "Bob"
print(name)
medium
A. Error: Cannot assign to let constant
B. Alice
C. Bob
D. nil

Solution

  1. Step 1: Understand variable reassignment

    The variable name is declared with var, so it can be changed after initial assignment.
  2. Step 2: Trace the code execution

    Initially, name is "Alice". Then it is reassigned to "Bob". The print statement outputs the current value, "Bob".
  3. Final Answer:

    Bob -> Option C
  4. Quick Check:

    var allows change, so output is reassigned value [OK]
Hint: var means value can change, so print latest value [OK]
Common Mistakes:
  • Thinking let was used and reassignment causes error
  • Expecting original value to print
  • Confusing variable with constant
4. What is wrong with this Swift code?
let age = 25
age = 30
medium
A. Cannot assign to value: 'age' is a constant
B. Missing semicolon after 25
C. Variable 'age' not declared
D. Syntax error: let cannot be used

Solution

  1. Step 1: Identify declaration type

    age is declared with let, making it a constant.
  2. Step 2: Understand reassignment error

    Trying to assign a new value to a constant causes a compile-time error: "Cannot assign to value: 'age' is a constant".
  3. Final Answer:

    Cannot assign to value: 'age' is a constant -> Option A
  4. Quick Check:

    let constants cannot be changed [OK]
Hint: let means constant; reassignment causes error [OK]
Common Mistakes:
  • Thinking semicolon is required
  • Confusing let with var
  • Ignoring reassignment rules
5. Consider this Swift code:
var x = 5
let y = x
x = 10
print(y)

What will be printed and why?
hard
A. 10, because y tracks x's value
B. nil, because y is not initialized
C. Error, cannot assign var to let
D. 5, because y is a constant copy of x's initial value

Solution

  1. Step 1: Understand value assignment

    Variable x is 5 initially. y is a constant assigned the current value of x, which is 5.
  2. Step 2: Reassign x and check y

    Changing x to 10 does not affect y, because y holds its own copy of the value 5.
  3. Final Answer:

    5, because y is a constant copy of x's initial value -> Option D
  4. Quick Check:

    let copies value; later changes to var don't affect it [OK]
Hint: let copies value at assignment; later var changes don't affect it [OK]
Common Mistakes:
  • Thinking y updates when x changes
  • Expecting runtime error on assignment
  • Confusing reference and value types
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard