有没有比手动检查每个变量更好的方法从协议检查 属性 of swift 对象?
Is there a better way to inspect property of swift object from a protocol than po each variable manually?
我有这个代码
public protocol UserItemModel {
var identifier: String { get }
var type: UserItemModelType { get }
var isSelectable: Bool { get }
var isActionable: Bool { get }
}
final class SampleItemModel: UserItemModel {
let identifier: String
var type: UserItemModelType
var isSelectable: Bool
var isActionable: Bool
init(identifier: String = UUID().uuidString,
type: UserItemModelType = .user(SampleUserModel()),
isSelectable: Bool = false,
isActionable: Bool = true) {
self.identifier = identifier
self.type = type
self.isSelectable = isSelectable
self.isActionable = isActionable
}
}
当我使用断点调试时,显示的值是这个。
总是 payload_xxx 并且我可以检查该值的唯一方法是手动与个人 属性 进行 po。当我调试 [UserItemModel]
.
时,情况更糟
有没有办法让所有属性直接显示在变量面板中?就像 Objective-C.
谢谢。
试试全局 dump(_:name:indent:maxDepth:maxItems:)
函数。
expr dump(itemModel)
此外,LLDB 可通过 Python 高度编写脚本,因此您也可以查看
可能与 Alexander 给出的响应类似,但也有 p
命令
p itemModel
输出比dump(_:name:indent:maxDepth:maxItems:)
少,但比po
命令更具描述性
我有这个代码
public protocol UserItemModel {
var identifier: String { get }
var type: UserItemModelType { get }
var isSelectable: Bool { get }
var isActionable: Bool { get }
}
final class SampleItemModel: UserItemModel {
let identifier: String
var type: UserItemModelType
var isSelectable: Bool
var isActionable: Bool
init(identifier: String = UUID().uuidString,
type: UserItemModelType = .user(SampleUserModel()),
isSelectable: Bool = false,
isActionable: Bool = true) {
self.identifier = identifier
self.type = type
self.isSelectable = isSelectable
self.isActionable = isActionable
}
}
当我使用断点调试时,显示的值是这个。
总是 payload_xxx 并且我可以检查该值的唯一方法是手动与个人 属性 进行 po。当我调试 [UserItemModel]
.
有没有办法让所有属性直接显示在变量面板中?就像 Objective-C.
谢谢。
试试全局 dump(_:name:indent:maxDepth:maxItems:)
函数。
expr dump(itemModel)
此外,LLDB 可通过 Python 高度编写脚本,因此您也可以查看
可能与 Alexander 给出的响应类似,但也有 p
命令
p itemModel
输出比dump(_:name:indent:maxDepth:maxItems:)
少,但比po
命令更具描述性