Structs and classes are the two fundamental building blocks of object-oriented programming in Swift.
Structs are value types, meaning they are copied when they are passed around in your code. Structs are best used when you need to encapsulate a few relatively simple data values. For example, a struct to represent a size might look like this:
struct Size {
var width: Float
var height: Float
}
Classes, on the other hand, are reference types, meaning that when they are passed around in your code, only a reference to the instance is passed. Classes are best used when you need to model more complex behavior. For example, a class to represent a car might look like this:
class Car {
var make: String
var model: String
var year: Int
var color: String
func start() {
// code to start the car
}
}