(Probably a spelling mistake, but your example doesn't compile; replace let with var and : with =.)
It's currently not possible to override Array's conformance to CustomStringConvertible. You could (1) create a wrapper struct (see here for an example) or (2) extend Array with an instance property that is different from description (to avoid ambiguity):
extension Array where Element == String {
public var customDescription: String {
return self.joined(separator: " ")
}
}
print(s)
// ["one", "two", "three"]
print(s.customDescription)
// one two three
(I'm not completely sure if this answers your question.)
Yeah, I wanted to avoid making the spaces explicit, so joined is good for me. I don't even need to specify the separator argument, since it is the default.