Swift version: 5.6
Swift lets you print all types of data, but some data is more useful than others thanks to the CustomDebugStringConvertible
protocol. If you write a type conforming to that protocol, you must include a debugDescription
string property that describes how instances of this type should be represented while debugging.
To test this out, we’re going to create a Player
struct that stores a player’s name. When we try to debug an instance of this struct – i.e., print it out, or hover over it in the debugger – we just want the player’s name to come back, for easier debugging.
Try adding this struct to a playground:
struct Player: CustomDebugStringConvertible {
var name: String = "@twostraws"
var debugDescription: String {
return name
}
}
You can now create instances of that struct and print them out to see the player name:
let player = Player()
print(player)
SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until October 1st.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0 – learn more in my book Pro Swift
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.