Bird
Raised Fist0
Swiftprogramming~5 mins

Optional declaration with ? suffix in Swift - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the ? suffix mean when declaring a variable in Swift?
It means the variable is an optional. It can hold a value or be nil (no value).
Click to reveal answer
beginner
How do you declare an optional integer variable named age in Swift?
You write: var age: Int? This means age can hold an integer or be nil.
Click to reveal answer
intermediate
What happens if you try to use an optional variable without unwrapping it?
Swift will not let you use it directly because it might be <code>nil</code>. You must unwrap it safely first.
Click to reveal answer
intermediate
How can you safely check if an optional has a value before using it?
You can use if let or guard let to unwrap the optional safely.
Click to reveal answer
beginner
What is the difference between Int and Int? in Swift?
Int must always have a value. Int? can have a value or be nil.
Click to reveal answer
What does var name: String? mean in Swift?
Aname is an integer
Bname must always be a String
Cname is a constant String
Dname can be a String or nil
How do you declare an optional Double variable called price?
Avar price: Double?
Bvar price: Double
Clet price: Double?
Dprice: Double
What must you do before using an optional variable's value?
AAssign it a new value
BUnwrap it safely
CConvert it to a string
DNothing special
Which keyword helps safely unwrap an optional in Swift?
Afor
Bswitch
Cif let
Dwhile
What value can an optional variable hold that a non-optional cannot?
Anil
B0
Cempty string
Dfalse
Explain what an optional variable is in Swift and why we use the ? suffix.
Think about variables that might not have a value yet.
You got /4 concepts.
    Describe how to safely use the value inside an optional variable.
    How do you check if the optional has a value before using it?
    You got /4 concepts.

      Practice

      (1/5)
      1. What does adding a ? after a type in Swift mean?
      easy
      A. The variable can hold a value or be nil (missing).
      B. The variable is a constant and cannot change.
      C. The variable must always have a value.
      D. The variable is an array of that type.

      Solution

      1. Step 1: Understand the meaning of ? in Swift type declaration

        In Swift, adding ? after a type means the variable is optional and can hold either a value or nil.
      2. Step 2: Compare with other options

        Other options describe constants, non-optional variables, or arrays, which are unrelated to the ? suffix.
      3. Final Answer:

        The variable can hold a value or be nil (missing). -> Option A
      4. Quick Check:

        Optional type = value or nil [OK]
      Hint: Remember: ? means value can be missing [OK]
      Common Mistakes:
      • Thinking ? makes a constant
      • Confusing optional with array type
      • Assuming optional must always have a value
      2. Which of these is the correct way to declare an optional integer in Swift?
      easy
      A. var number: Int?
      B. var number: ?Int
      C. var number: Int!
      D. var number: OptionalInt

      Solution

      1. Step 1: Recall Swift syntax for optional declaration

        In Swift, an optional type is declared by placing ? after the type name, like Int?.
      2. Step 2: Check each option

        var number: Int? uses Int? correctly. var number: ?Int places ? before the type, which is invalid. var number: Int! uses ! which is an implicitly unwrapped optional, different from ?. var number: OptionalInt uses a non-existent type OptionalInt.
      3. Final Answer:

        var number: Int? -> Option A
      4. Quick Check:

        Optional syntax = type followed by ? [OK]
      Hint: Put ? right after the type name [OK]
      Common Mistakes:
      • Placing ? before the type
      • Confusing ? with !
      • Using non-existent types like OptionalInt
      3. What will be the output of this Swift code?
      var name: String? = "Alice"
      print(name)
      medium
      A. nil
      B. Alice
      C. Optional("Alice")
      D. Error: Cannot print optional directly

      Solution

      1. Step 1: Understand printing an optional variable

        When printing an optional variable directly, Swift shows it wrapped as Optional(value) if it has a value.
      2. Step 2: Check the variable value

        The variable name holds the string "Alice", so printing it shows Optional("Alice").
      3. Final Answer:

        Optional("Alice") -> Option C
      4. Quick Check:

        Printing optional shows Optional(value) [OK]
      Hint: Printing optional shows Optional(...) wrapper [OK]
      Common Mistakes:
      • Expecting direct value without Optional()
      • Assuming printing optional causes error
      • Confusing nil with a string value
      4. Identify the error in this Swift code:
      var age: Int?
      age = 25
      print(age + 5)
      medium
      A. Variable age is not initialized.
      B. Optional variables cannot be printed.
      C. Missing semicolon after age = 25.
      D. Cannot add Int? and Int directly.

      Solution

      1. Step 1: Analyze the operation on optional and Int

        The variable age is an optional Int (Int?), but adding it directly to an Int (5) is not allowed without unwrapping.
      2. Step 2: Understand Swift's type safety

        Swift requires unwrapping optionals before using them in arithmetic operations to avoid runtime errors.
      3. Final Answer:

        Cannot add Int? and Int directly. -> Option D
      4. Quick Check:

        Optional must be unwrapped before arithmetic [OK]
      Hint: Unwrap optionals before arithmetic operations [OK]
      Common Mistakes:
      • Trying to add optional and non-optional directly
      • Ignoring need to unwrap optionals
      • Thinking semicolons are required in Swift
      5. Given this Swift code, how can you safely print the length of the optional string text?
      var text: String? = "Hello"
      // Your code here
      hard
      A. print(text ?? 0)
      B. if let safeText = text { print(safeText.count) } else { print(0) }
      C. print(text!)
      D. print(text.count)

      Solution

      1. Step 1: Understand optional unwrapping with if let

        Using if let safely unwraps the optional text only if it has a value, avoiding crashes.
      2. Step 2: Use unwrapped value to get length

        Inside the if let block, safeText.count gives the length. If text is nil, print 0.
      3. Step 3: Check other options

        print(text.count) tries to access count on optional directly (error). print(text!) force unwraps without check (unsafe). print(text ?? 0) uses nil coalescing but mismatches types.
      4. Final Answer:

        if let safeText = text { print(safeText.count) } else { print(0) } -> Option B
      5. Quick Check:

        Use if let to safely unwrap optionals [OK]
      Hint: Use if let to unwrap optionals safely [OK]
      Common Mistakes:
      • Forcing unwrap without checking nil
      • Accessing properties on optional without unwrapping
      • Using nil coalescing with wrong 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