首页 > 解决方案 > 类的实例没有在 Swift 中打印它的值

问题描述

我有以下代码:

class MyClass {
    var a: String
    var b: String

    init(a: String, b: String) {
        self.a = a
        self.b = b
    }
}

当我尝试创建该类 ( var c = MyClass(a: "something", b: "else")) 的实例并将 的值打印c到控制台时,我得到的只是NAMEOFAPP.MyClass. 我是 Swift 的初学者,但我以前使用过类,这从未发生过,这是我第一次在创建类的实例时看到这样的东西。

标签: iosswift

解决方案


您需要采用CustomStringConvertible协议并覆盖description

class MyClass : CustomStringConvertible {
    var a: String
    var b: String

    init(a: String, b: String) {
        self.a = a
        self.b = b
    }

   var description:String { 
     return "a is : \(a) , b is : \(b)"
   }
}

推荐阅读