Ios swift新手教程问题

Ios swift新手教程问题,ios,swift,Ios,Swift,我正在苹果官方网站上学习这本关于swift的基础教程。 你可以在这个链接中看到它 我认为其中一个脚本有问题 我在操场上运行了这段代码 class NamedShape { var numberOfSides = 0 var name: String init(name: String) { self.name = name } func simpleDescription() -> String { return "A shape with \(numberOfSide

我正在苹果官方网站上学习这本关于swift的基础教程。 你可以在这个链接中看到它

我认为其中一个脚本有问题

我在操场上运行了这段代码

class NamedShape {
var numberOfSides = 0
var name: String

init(name: String) {
    self.name = name
}

func simpleDescription() -> String {
    return "A shape with \(numberOfSides) sides."
    }
}

let namedShape2 = NamedShape(name: "my named shape")
namedShape2.numberOfSides = 7;
namedShape2.simpleDescription()

输出是NamedShape,而不是“我的命名形状”。我不认为这就是我的本意。 我怎样才能解决这个问题


感谢

使您的类符合CustomStringConvertible协议,并添加一个名为description的计算字符串变量:

class NamedShape: CustomStringConvertible {
...    
    var description: String {
        return "A shape with \(numberOfSides) sides."
    }
}

让namedShape2=NamedShape(name:“我的命名形状”)
表示初始化名为
namedShape2
的变量,它是类
NamedShape
的对象,名称属性设置为“我的命名形状”namedShape2。名称是“我的命名形状”,这是您想要的。如果
打印(namedShape2.name)
,您将看到“我命名的形状”。
class NamedShape: CustomStringConvertible {
...    
    var description: String {
        return "A shape with \(numberOfSides) sides."
    }
}