x and y are Int values
String(format:"start: x: %d, y: %d end x: %d, y: %d", start.x, start.y, end.x, end.y)
error: incorrect argument label in call (have 'format:::::', expected 'stringInterpolation:::::')
x and y are Int values
String(format:"start: x: %d, y: %d end x: %d, y: %d", start.x, start.y, end.x, end.y)
error: incorrect argument label in call (have 'format:::::', expected 'stringInterpolation:::::')
you need to import Foundation
Also, I'd suggest that you consider using string interpolation
// like this
"start: x: \(start.x), y: \(start.y), end x: \(end.x), y: \(end.y)"
// or better
"start \(start), end \(end)"
The first one will definitely work, since it's dealing with only Int
.
The second should work with most types right off the bat, but may require start
and end
to conform to CustomStringConvertible
, which does give you a lot more flexibilitty.
Great I decided to use the first option, I mean with out format
Thanks
Do note as well that most third-party structs will support second format right off the bat, and even for simple struct
it'd work mostly as you'd expect. So you could reduce the amount of typing when printing debugging stuffs.
import Foundation
struct Test {
var x, y: Int
}
print(CGPoint(x: 1, y: 10)) // (1.0, 10.0)
print(NSPoint(x: 1, y: 10)) // (1.0, 10.0)
print(AnchorPoint(x: 1, y: 10)) // AnchorPoint(x: 1, y: 10)
print(Test(x: 1, y: 10)) // Test(x: 1, y: 10)