nil means there is no value or the value is missing.
Click to reveal answer
beginner
How do you declare an optional variable that can hold nil?
Use a question mark ? after the type, like var name: String?.
Click to reveal answer
intermediate
What happens if you try to use a variable that is nil without unwrapping it?
Swift will give a compile error because you must safely check or unwrap optionals before use.
Click to reveal answer
intermediate
How can you safely unwrap an optional that might be nil?
You can use if let or guard let to check and unwrap the value safely.
Click to reveal answer
beginner
What is the difference between nil and an empty string ""?
nil means no value at all, while "" is a string with zero characters.
Click to reveal answer
What keyword in Swift represents the absence of a value?
Avoid
Bnull
Cnone
Dnil
✗ Incorrect
nil is the Swift keyword for no value.
How do you declare a variable that can hold a value or be nil?
Avar name: String
Bvar name: Optional
Cvar name: String?
Dvar name: nil
✗ Incorrect
Adding ? after the type makes it optional and able to hold nil.
What happens if you try to use an optional variable without unwrapping it?
ACompile-time error
BSwift crashes at runtime
CIt works fine
DIt prints nil
✗ Incorrect
Swift requires unwrapping optionals before use, else it gives a compile error.
Which of these safely unwraps an optional?
Aprint(optionalValue)
Bif let value = optionalValue { ... }
Cvar value = optionalValue
DoptionalValue = nil
✗ Incorrect
if let unwraps the optional safely if it has a value.
What is the difference between nil and an empty string ""?
A<code>nil</code> means no value, <code>""</code> is a string with no characters
BThey are the same
C<code>nil</code> is a string, <code>""</code> is nil
D<code>nil</code> means empty string
✗ Incorrect
nil means no value at all, while "" is an empty string.
Explain what nil means in Swift and how you use it with optionals.
Think about variables that might not have a value yet.
You got /3 concepts.
Describe how to safely use a variable that might be nil in Swift.
How do you check if a value exists before using it?
You got /3 concepts.
Practice
(1/5)
1. What does nil represent in Swift?
easy
A. The absence of a value
B. A zero integer
C. An empty string
D. A Boolean false
Solution
Step 1: Understand the meaning of nil
In Swift, nil means there is no value assigned to a variable or constant.
Step 2: Differentiate from other values
Zero, empty string, and false are actual values, not absence of value.
Final Answer:
The absence of a value -> Option A
Quick Check:
nil means no value [OK]
Hint: Remember nil means 'nothing' or 'no value' [OK]
Common Mistakes:
Confusing nil with zero or empty string
Thinking nil is a Boolean value
Assuming nil is a default value
2. Which of the following is the correct way to declare an optional integer that can hold nil?
easy
A. var number: Int?
B. var number: Int = 0?
C. var number: Int!
D. var number: Int = nil
Solution
Step 1: Understand optional declaration
In Swift, adding ? after a type makes it optional, allowing it to hold a value or nil.
Step 2: Check each option
var number: Int = nil tries to assign nil to a non-optional Int, which is invalid. var number: Int! declares an implicitly unwrapped optional, which is valid but different. var number: Int = 0? is invalid syntax.
Final Answer:
var number: Int? -> Option B
Quick Check:
Use ? to declare optional [OK]
Hint: Use ? after type to allow nil values [OK]
Common Mistakes:
Assigning nil to non-optional type
Confusing ! with ? for optionals
Using invalid syntax like 0?
3. What will be the output of this Swift code?
var name: String? = nil
if name == nil {
print("No name provided")
} else {
print(name!)
}
medium
A. Empty string
B. nil
C. Runtime error
D. No name provided
Solution
Step 1: Check the value of name
The variable name is declared as optional String and assigned nil.
Step 2: Evaluate the if condition
The condition name == nil is true, so the code prints "No name provided".
Final Answer:
No name provided -> Option D
Quick Check:
Optional nil triggers if branch [OK]
Hint: Check if optional is nil before unwrapping [OK]
Common Mistakes:
Assuming print(name!) works when name is nil
Expecting 'nil' to print as string
Ignoring the if condition
4. Identify the error in this Swift code snippet:
var age: Int?
age = nil
print(age!)
medium
A. Syntax error: missing initialization
B. No error, prints nil
C. Runtime error: force unwrapping nil
D. Compile error: optional not declared
Solution
Step 1: Understand force unwrapping
Using ! on an optional tries to get its value directly.
Step 2: Check the value of age
Since age is nil, force unwrapping causes a runtime crash.
Final Answer:
Runtime error: force unwrapping nil -> Option C
Quick Check:
Force unwrap nil causes runtime error [OK]
Hint: Never force unwrap optionals without checking nil first [OK]
Common Mistakes:
Assuming force unwrap prints nil
Ignoring runtime crash possibility
Confusing compile and runtime errors
5. Given this dictionary of optional ages, which code safely prints all ages or 0 if nil?
let ages: [String: Int?] = ["Alice": 30, "Bob": nil, "Carol": 25]
// Fill in the blank
for (name, age) in ages {
print("\(name): \(____)")
}
hard
A. age ?? 0
B. age! ?? 0
C. age! != nil ? age! : 0
D. age as! String
Solution
Step 1: Understand the dictionary type
The dictionary has values of type Int?, meaning each age can be an integer or nil.
Step 2: Use nil-coalescing operator
The expression age ?? 0 safely unwraps age or uses 0 if nil.
Step 3: Check other options
age! ?? 0 force unwraps age which can cause runtime error. age! != nil ? age! : 0 force unwraps in the condition, causing runtime error if nil. age as! String is invalid cast.
Final Answer:
age ?? 0 -> Option A
Quick Check:
Use ?? to provide default for nil [OK]
Hint: Use ?? to replace nil with default value [OK]
Common Mistakes:
Force unwrapping optionals without checking nil
Using incorrect type casting
Not handling nil values safely
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.