Swift is awesome.
Swift is awesome
Swift is awesome.
连接中
print("This is wild", terminator: " ")
print("world")
印刷品:
This is wild world
因此,使用终止符时,应注意内容与同一行相关。
使用 CustomStringConvertible打印对象
struct Address {
let city: String
}
class Person {
let name = "Jack"
let addresses = [
Address(city: "Helsinki"),
Address(city: "Tampere")
]
}
extension Person: CustomStringConvertible {
var description: String {
let objectAddress = unsafeBitCast(self, to: Int.self)
return String(format: "<name: \(name) %p>", objectAddress)
}
}
let jack = Person()
print(jack)
印刷品:
<name: Jack 0x608000041c20>
自定义调试字符串可转换
extension Person: CustomDebugStringConvertible {
var debugDescription: String {
let objectAddress = unsafeBitCast(self, to: Int.self)
let addressString = addresses.map { $0.city }.joined(separator: ",")
return String(format: "<name: \(name), addresses: \(addressString) %p>",objectAddress)
}
}
5条答案
按热度按时间vyu0f0g11#
从Swift 2.0开始,不使用换行符打印的推荐方法是:
vkc1a9a22#
print
函数自Swift的最新修订版以来已完全更改,现在看起来更简单,并且有打印到标准控制台的方法变体。print的方法签名如下所示,
这里有一些使用案例,
印刷品:
连接中
印刷品:
因此,使用终止符时,应注意内容与同一行相关。
使用 CustomStringConvertible打印对象
印刷品:
自定义调试字符串可转换
现在,通过lldb,您可以使用po命令,它将在lldb控制台中按如下方式打印对象:
使用 * 文本输出流*记录到文件
现在,使用打印到流,
打印到文件:
可自定义反射
现在,在lldb调试器中,如果您使用命令po,
结果会是这样
8zzbczxx3#
在Swift 2.0中,您可以执行以下操作:
基本版
使用终结符
使用分隔符
使用分隔符和终止符
使用一个变量
使用两个变量
wribegjk4#
如果要在循环中使用同一行:
输出:1 2 3 4
ufj5ltwl5#
这里的
description
变量将保存与您在控制台中使用print()
函数获得的输出完全相同的输出。因此可以替换输出中的任何内容。
例如,我使用以下代码在一行中打印JSON: