Swift version: 5.10
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 Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure and A/B test your entire paywall UI without any code changes or app updates.
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.