这算是一个 Swift 5.8
非常实用的一个更新点了,在 Swift 5.8
之前,如果你要实用 print()
或者 po
命令打印属性路径,它是会直接输出类的引用信息,这样的打印毫无作用,看不出任何关键信息。
以前的示例
struct User {
let name: String
let phone: String
var address: String
}
print(\User.name)
// 输出 Swift.KeyPath<ModuleName.User, Swift.String>
print(\User.phone)
// 输出 Swift.KeyPath<ModuleName.User, Swift.String>
print(\User.address)
// 输出 Swift.WritableKeyPath<ModuleName.User, Swift.String>
Swift 5.8
[SE-0369] 更新内容使打印AnyKeyPath
符合 CustomDebugStringConvertible
协议,输出有效的路劲信息。
Swift 5.8 版本后的示例
struct User {
let name: String
let phone: String
var address: String
}
print(\User.name)
// 输出 \User.name
print(\User.phone)
// 输出 \User.phone
print(\User.address)
// 输出 \User.address
总结
你看,舒服多了、有用多了吧 : )
本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
· 如若转载,请注明出处:https://www.codeun.com/archives/1153.html ·