What is the basic syntax to declare a class in Swift?
Use the <code>class</code> keyword followed by the class name and curly braces. Example:<br><pre>class MyClass {
// properties and methods
}</pre>
Click to reveal answer
beginner
How do you define a property inside a Swift class?
Inside the class braces, declare a variable or constant using <code>var</code> or <code>let</code>. Example:<br><pre>class Person {
var name: String
}</pre>
Click to reveal answer
intermediate
How do you create an initializer in a Swift class?
Use the <code>init</code> method inside the class to set up initial values. Example:<br><pre>class Person {
var name: String
init(name: String) {
self.name = name
}
}</pre>
Click to reveal answer
intermediate
What keyword is used to inherit from another class in Swift?
Use a colon <code>:</code> after the class name followed by the parent class name. Example:<br><pre>class Student: Person {
var grade: Int
}</pre>
Click to reveal answer
beginner
Can Swift classes have methods? How do you declare one?
Yes, methods are functions inside a class. Declare them with <code>func</code>. Example:<br><pre>class Person {
func greet() {
print("Hello!")
}
}</pre>
Click to reveal answer
Which keyword starts a class declaration in Swift?
Aclass
Bstruct
Cfunc
Dvar
✗ Incorrect
The class keyword is used to declare a class in Swift.
How do you indicate that a class inherits from another class?
AUsing a colon <code>:</code> after the class name
BUsing the <code>extends</code> keyword
CUsing the <code>inherits</code> keyword
DUsing parentheses <code>()</code> after the class name
✗ Incorrect
In Swift, inheritance is shown by placing a colon : after the class name followed by the parent class.
What is the purpose of the init method in a Swift class?
ATo declare a property
BTo initialize the class with starting values
CTo create a new method
DTo inherit from another class
✗ Incorrect
The init method sets up initial values when creating an instance of the class.
Which keyword do you use to define a method inside a Swift class?
Amethod
Bprocedure
Cdef
Dfunc
✗ Incorrect
Swift uses the func keyword to define methods inside classes.
How do you declare a variable property inside a Swift class?
ApropertyName: Type
Blet propertyName: Type
Cvar propertyName: Type
Ddef propertyName: Type
✗ Incorrect
Use var to declare a variable property that can change value.
Explain how to declare a simple class in Swift with one property and an initializer.
Think about how you create a blueprint for an object with starting values.
You got /4 concepts.
Describe how inheritance works in Swift class declarations and how to write it in code.
Inheritance means one class gets features from another.
You got /4 concepts.
Practice
(1/5)
1. What is the correct way to start declaring a class named Car in Swift?
easy
A. function Car() { }
B. def Car() { }
C. class Car { }
D. struct Car { }
Solution
Step 1: Recognize Swift class syntax
In Swift, classes start with the keyword class followed by the class name and curly braces.
Step 2: Match the correct option
class Car { } uses class Car { }, which is the correct syntax for declaring a class named Car.
Final Answer:
class Car { } -> Option C
Quick Check:
Swift class declaration = class ClassName { } [OK]
Hint: Look for 'class' keyword followed by name and braces [OK]
Common Mistakes:
Using 'def' or 'function' which are not Swift keywords
Confusing struct with class
Missing curly braces
2. Which of the following is the correct syntax to declare a class with an initializer in Swift?
easy
A. class Person { init(name: String) { self.name = name } var name: String }
B. class Person { var name: String; init(name: String) { self.name = name } }
C. class Person { init(name: String) { name = self.name } var name: String }
D. class Person { var name: String init(name: String) { name = name } }
Solution
Step 1: Understand property declaration order
In Swift, properties should be declared before the initializer for clarity and correctness.
Step 2: Check initializer syntax
The initializer must assign the parameter to the property using self.name = name.
Final Answer:
class Person { var name: String; init(name: String) { self.name = name } } -> Option B
Quick Check:
Properties before init, use self.property = parameter [OK]
Hint: Declare properties before init; assign with self.property = parameter [OK]
Common Mistakes:
Declaring properties after init causing errors
Assigning parameter to self incorrectly
Missing semicolon or braces
3. What will be the output of this Swift code?
class Animal {
var name: String
init(name: String) {
self.name = name
}
func speak() -> String {
return "Hello, I am \(name)"
}
}
let dog = Animal(name: "Buddy")
print(dog.speak())
medium
A. Hello, I am name
B. Error: Missing initializer
C. Hello, I am
D. Hello, I am Buddy
Solution
Step 1: Understand class initialization
The class Animal has a property name initialized via init(name: String). The instance dog is created with name "Buddy".
Step 2: Analyze the speak() method output
The speak() method returns a string with the name property interpolated. So it returns "Hello, I am Buddy".
Final Answer:
Hello, I am Buddy -> Option D
Quick Check:
String interpolation with property = Hello, I am Buddy [OK]
Hint: Check property value passed to init and used in method [OK]
Common Mistakes:
Confusing property name with string literal
Forgetting to call speak() method
Assuming default values without init
4. Identify the error in this Swift class declaration:
class Book {
var title: String
init(title: String) {
title = title
}
}
medium
A. Property 'title' is not initialized correctly
B. Missing class keyword
C. Initializer has wrong name
D. No error, code is correct
Solution
Step 1: Check property assignment in initializer
The initializer assigns title = title, which assigns the parameter to itself, not to the property.
Step 2: Correct assignment syntax
It should be self.title = title to assign the parameter value to the property.
Final Answer:
Property 'title' is not initialized correctly -> Option A
Quick Check:
Use self.property = parameter to assign [OK]
Hint: Use self.property = parameter to avoid confusion [OK]
Common Mistakes:
Assigning parameter to itself instead of property
Forgetting self keyword
Assuming implicit assignment
5. You want to create a Swift class Rectangle with properties width and height, and a method area() that returns the area. Which of the following is the correct complete class declaration?
hard
A. class Rectangle {
var width: Double
var height: Double
init(width: Double, height: Double) {
self.width = width
self.height = height
}
func area() -> Double {
return width * height
}
}
B. class Rectangle {
var width: Double
var height: Double
func area() -> Double {
return width * height
}
init(width: Double, height: Double) {
width = width
height = height
}
}
C. class Rectangle {
var width: Double
var height: Double
init(width: Double, height: Double) {
width = width
height = height
}
func area() -> Double {
return width * height
}
}
D. class Rectangle {
var width: Double
var height: Double
init(width: Double, height: Double) {
self.width = width
self.height = height
}
func area() {
width * height
}
}
Solution
Step 1: Check property initialization
Properties width and height must be assigned using self.width = width and self.height = height in the initializer.
Step 2: Verify method return type and body
The area() method must return a Double and use return width * height.
Final Answer:
class Rectangle {
var width: Double
var height: Double
init(width: Double, height: Double) {
self.width = width
self.height = height
}
func area() -> Double {
return width * height
}
} -> Option A
Quick Check:
Use self.property in init and return in methods [OK]
Hint: Assign properties with self. and return values in methods [OK]
Common Mistakes:
Assigning parameters to themselves without self.
Missing return statement in method
Incorrect method return type
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.