Writes the textual representations of the given items most suitable for debugging into the given output stream.
SDK
- Xcode 8.0+
Framework
- Swift Standard Library
Declaration
func debugPrint<Target>(_ items: Any..., separator: String = " ", terminator: String = "\n", to output: inout Target) where Target : TextOutputStream
Parameters
itemsZero or more items to print.
separatorA string to print between each item. The default is a single space (
" ").terminatorThe string to print after all items have been printed. The default is a newline (
"\n").outputAn output stream to receive the text representation of each item.
Discussion
You can pass zero or more items to the debug function. The textual representation for each item is the same as that obtained by calling String(reflecting: item). The following example prints a closed range of integers to a string:
var range = "My range: "
debugPrint(1...5, to: &range)
// range == "My range: ClosedRange(1...5)\n"
To print the items separated by something other than a space, pass a string as separator.
var separated = ""
debugPrint(1.0, 2.0, 3.0, 4.0, 5.0, separator: " ... ", to: &separated)
// separated == "1.0 ... 2.0 ... 3.0 ... 4.0 ... 5.0\n"
The output from each call to debug includes a newline by default. To print the items without a trailing newline, pass an empty string as terminator.
var numbers = ""
for n in 1...5 {
debugPrint(n, terminator: "", to: &numbers)
}
// numbers == "12345"