What happens when you declare a collection with let in Swift?
Declaring a collection with let makes it immutable. You cannot add, remove, or change elements after initialization.
Click to reveal answer
beginner
How does declaring a collection with var affect its mutability?
Declaring a collection with var makes it mutable. You can add, remove, or modify elements freely.
Click to reveal answer
intermediate
Can you modify the elements of a collection declared with let if the elements themselves are reference types?
Yes, if the elements are reference types (like classes), you can modify their internal properties even if the collection is declared with let. But you cannot change the collection structure itself.
Click to reveal answer
beginner
Why does Swift tie collection mutability to let and var?
Swift uses let and var to clearly express intent. let means the collection won't change, helping prevent bugs. var allows changes when needed.
Click to reveal answer
beginner
What error occurs if you try to modify a let-declared collection?
You get a compile-time error saying you cannot use mutating methods on an immutable value.
Click to reveal answer
What does declaring an array with let in Swift mean?
AThe array can be changed anytime
BThe array elements can be changed but not the array size
CThe array is deleted automatically
DThe array cannot be changed after creation
✗ Incorrect
Declaring with let makes the array immutable, so you cannot add, remove, or change elements.
If you declare a dictionary with var, what can you do?
AOnly read elements
BOnly remove elements
CAdd, remove, or modify elements
DOnly add elements
✗ Incorrect
Using var allows full mutability of the collection.
Can you modify the properties of class instances inside a let-declared array?
AYes, properties of class instances can be changed
BNo, nothing can be changed
COnly if the array is declared with <code>var</code>
DOnly if the class is a struct
✗ Incorrect
The collection is immutable, but the reference type elements can have their properties changed.
What keyword in Swift declares a mutable collection?
Alet
Bvar
Cconst
Dmutable
✗ Incorrect
var declares a mutable collection.
What kind of error do you get if you try to append to a let-declared array?
ACompile-time error
BRuntime error
CNo error
DLogical error
✗ Incorrect
Swift prevents this at compile time to avoid mutating an immutable collection.
Explain how let and var affect collection mutability in Swift.
Think about whether you can change the collection after creating it.
You got /4 concepts.
Describe what happens when you try to modify a let-declared collection and why Swift enforces this.
Consider Swift's goal to avoid bugs by enforcing immutability.
You got /4 concepts.
Practice
(1/5)
1. In Swift, if you declare a collection with let, what does it mean for that collection?
easy
A. The collection cannot be changed after creation.
B. You can add or remove items anytime.
C. Only the items inside can change, but not the collection size.
D. The collection is deleted automatically.
Solution
Step 1: Understand let in Swift
let creates a constant, meaning the value cannot be changed after it is set.
Step 2: Apply to collections
If a collection is declared with let, you cannot add, remove, or modify its elements because the collection itself is constant.
Final Answer:
The collection cannot be changed after creation. -> Option A
Quick Check:
let means constant collection [OK]
Hint: Remember: let means no changes allowed to collection [OK]
Common Mistakes:
Thinking you can add items to a let collection
Confusing let with var for collections
Assuming only items can change but not size
2. Which of the following is the correct way to declare a mutable array in Swift?
easy
A. mutable numbers = [1, 2, 3]
B. let numbers = [1, 2, 3]
C. const numbers = [1, 2, 3]
D. var numbers = [1, 2, 3]
Solution
Step 1: Recall Swift syntax for mutable collections
Use var to declare variables that can change.
Step 2: Check options
var numbers = [1, 2, 3] correctly declares a mutable array. let is immutable, and const or mutable are not Swift keywords.
Final Answer:
var numbers = [1, 2, 3] -> Option D
Quick Check:
Mutable array uses var [OK]
Hint: Use var for collections you want to change [OK]
Common Mistakes:
Using let instead of var for mutable collections
Using non-Swift keywords like const or mutable
Confusing var with let
3. What will be the output of this Swift code?
let fruits = ["Apple", "Banana"]
fruits.append("Cherry")
print(fruits)
medium
A. Compile-time error
B. ["Apple", "Banana"]
C. ["Apple", "Banana", "Cherry"]
D. Runtime crash
Solution
Step 1: Identify collection mutability
The array fruits is declared with let, making it immutable.
Step 2: Analyze append operation
Trying to append to an immutable array causes a compile-time error because you cannot modify a constant collection.
Final Answer:
Compile-time error -> Option A
Quick Check:
Append on let collection = Compile-time error [OK]
Hint: Appending to let collection causes compile error [OK]
Common Mistakes:
Assuming append works on let collections
Thinking it crashes at runtime instead of compile-time
Expecting original array unchanged
4. Consider this Swift code snippet:
let numbers = [1, 2, 3]
numbers[0] = 10
print(numbers)
What is the problem here?
medium
A. The array must be declared with var to print.
B. You cannot change elements of an array declared with let.
C. The print statement is incorrect.
D. Array index 0 does not exist.
Solution
Step 1: Check array declaration
The array numbers is declared with let, so it is immutable.
Step 2: Understand element assignment
Trying to assign a new value to an element of an immutable array is not allowed and causes a compile-time error.
Final Answer:
You cannot change elements of an array declared with let. -> Option B
Quick Check:
Changing element in let array = Not allowed [OK]
Hint: Elements of let arrays cannot be changed [OK]
Common Mistakes:
Thinking only size is fixed but elements can change
Assuming index 0 is invalid
Believing print causes error
5. You want to create a dictionary in Swift that you can update later by adding or changing keys and values. Which declaration should you use and why?
hard
A. Use let and then create a new dictionary to update.
B. Use let because it allows changing keys and values.
C. Use var because it allows modifying the dictionary after creation.
D. Use var but you cannot change keys or values.
Solution
Step 1: Understand mutability of dictionaries
To modify a dictionary after creation, it must be declared mutable.
Step 2: Choose correct keyword
var declares a mutable dictionary allowing adding or changing keys and values. let makes it immutable.
Final Answer:
Use var because it allows modifying the dictionary after creation. -> Option C
Quick Check:
Mutable dictionary needs var [OK]
Hint: Use var for collections you want to update later [OK]
Common Mistakes:
Using let and expecting to modify dictionary
Thinking let allows changing keys or values
Believing var prevents changing keys or values
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.