【问题标题】:swift tutorial newbie issue快速教程新手问题
【发布时间】:2016-01-19 22:33:17
【问题描述】:

我正在关注苹果官方网站上的这个非常基础的 swift 教程。 您可以在此链接中看到它https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson1.html#//apple_ref/doc/uid/TP40015214-CH3-SW1

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

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

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()

let namedShape2 = NamedShape(name: "my named shape")

输出是 NamedShape 而不是“我的命名形状”。我不认为这是本应如此。 我该如何解决?

谢谢

【问题讨论】:

  • let namedShape2 = NamedShape(name: "my named shape") 表示您初始化了一个名为 namedShape2 的变量,它是类 NamedShape 的对象,其名称属性设置为“我的命名形状” namedShape2.name 是“我的命名形状”你想要什么
  • 如果你print(namedShape2.name),你会看到“我命名的形状”。

标签: ios swift


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2020-07-30
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 2014-05-17
    • 1970-01-01
    相关资源
    最近更新 更多