Обновление для Swift 2: В Swift 2, структуры по умолчанию печатается со всеми свойствами:
let str = SCNVector3Make(1, 2, -8)
print("vector \(str)")
// Output:
// vector SCNVector3(x: 1.0, y: 2.0, z: -8.0)
Вы можете настроить вывод по суматохе pting протокол о CustomStringConvertible
:
extension SCNVector3 : CustomStringConvertible {
public var description: String {
return "[\(x), \(y), \(z)]"
}
}
let str = SCNVector3Make(1, 2, -8)
print("vector \(str)")
// Output:
// vector [1.0, 2.0, -8.0]
Предыдущий ответ:
Как Эрик уже объяснил, println()
проверяет, является ли объект соответствует к протоколу Printable
. Вы можете добавить соответствие для SCNVector3
с пользовательским расширением:
extension SCNVector3 : Printable {
public var description: String {
return "[\(self.x), \(self.y), \(self.z)]"
}
}
var str = SCNVector3Make(1, 2, -8)
println("vector \(str)")
// Output:
// vector [1.0, 2.0, -8.0]
Прохладный, спасибо за код. –
Версия для печати была переименована в CustomStringConvertible. Спасибо за фрагмент! – Crashalot
@Crashalot: Вы совершенно правы, я обновил ответ. Спасибо, что дали мне знать! –