Swift version: 5.0
Classes and structures (structs) are so similar in Swift that it's easy to get them confused at first, but actually there are some important underlying differences:
That last point is particularly important: with a struct you know your data is fixed in place, like an integer or other value. This means if you pass your struct into a function, you know it's not going to get modified.
Available from iOS 7.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.