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