gpt4 book ai didi

swift - "xcrun swift"用于结果的方法/属性是什么?

转载 作者:行者123 更新时间:2023-11-28 12:43:20 27 4
gpt4 key购买 nike

我的第一个猜测是 debugDescriptiondescription,但是使用 NSURL,我得到了一些有趣的东西:

$ cd /tmp
$ xcrun swift
Welcome to Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.30). Type :help for assistance.
1> import Foundation
2> NSURL(fileURLWithPath: "X")
$R0: NSURL = "X -- ile:///private/tmp/"

它不是debugDescriptiondescription:

  3> NSURL(fileURLWithPath: "X").debugDescription
$R1: String = "X -- file:///private/tmp/"
4> NSURL(fileURLWithPath: "X").description
$R2: String = "X -- file:///private/tmp/"

显然,如果您只是定义 debugDescriptiondescription(如 class Foo here ),它不会打印那些. (它将它们用于 print()debugPrint()。)

默认情况下,它在 repl 中打印什么?

最佳答案

REPL 是 lldb 的扩展。因此,对于类和结构,它在评估后打印类型摘要。您可以找到更多相关信息 here .

您可以为类(class)创建自定义类型摘要。例如,我可以输入:

class MyClass: NSObject
{

}

let myClass = MyClass()

进入 REPL,打印:

myClass: MyClass = {
ObjectiveC.NSObject = {
isa = __lldb_expr_45.MyClass
}
}

然后我可以通过键入 进入 lldb: 在 lldb 中,我可以将 MyClass 绑定(bind)到自定义类型摘要,方法是:

type summary add --summary-string "This is a MyClass" MyClass

我可以通过键入命令返回到 REPL:repl

现在,当我说 let myClass = MyClass(), 我得到:

myClass: MyClass = This is a MyClass

关于swift - "xcrun swift"用于结果的方法/属性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38856765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com