Java toString() に相当する Swift の質問

Java toString() に相当する Swift の質問

toString()クラスインスタンスの状態を印刷するJava に相当する Swift は何ですか?

ベストアンサー1

探しているのはこのdescriptionプロパティです。これは、オブジェクトを含む変数を印刷するときにアクセスされるプロパティです。

descriptionプロトコルを採用してプロパティCustomStringConvertibleを実装することで、独自のクラスに追加できますdescription

class MyClass: CustomStringConvertible {
    var val = 17

    public var description: String { return "MyClass: \(val)" }
}

let myobj = MyClass()
myobj.val = 12
print(myobj)  // "MyClass: 12"

descriptionコンストラクタを呼び出すときにも使用されますString

let str = String(myobj)  // str == "MyClass: 12"

これはインスタンス記述にアクセスするための推奨される方法です(myobj.descriptionクラスが を実装していない場合は は機能しませんCustomStringConvertible)。

おすすめ記事