debugging Xcode 14.2使用泛型调试Swift类时不显示属性

rkue9o1l  于 2023-04-12  发布在  Swift
关注(0)|答案(1)|浏览(157)

这里有简单的代码。

struct List<T> {
    class Node<T> {
        var next: Node?
        var k: T?
    }
    var head: Node<T>?
}

var list = List<Int>()
let newNode = List<Int>.Node<Int>()
newNode.k = 10
list.head = newNode
print(list)

我在“print(list)"处设置了一个断点。
当Xcode在断点处暂停时,我想在左下角的调试窗口中看到head的变量,但是只有一个'head'显示,没有它的属性,如图所示。我必须在lldb中使用'po'命令来查看这些值。我错过了什么吗?

inkz8wg9

inkz8wg91#

我不知道为什么Xcode没有显示这些信息,但是如果我们把Node类移到结构List之外,那么调试器就会显示这些信息

class Node<T> {
    var next: Node?
    var k: T?
}

struct List<T> {
    var head: Node<T>?
}

var list = List<Int>()
let newNode = Node<Int>()
newNode.k = 10
list.head = newNode
print(list)

相关问题