前提・実現したいこと
Swiftでクラスのインスタンスの中身を確認しようとする際、
下記のようにprintしたときにプロジェクト名.Member
という風に出力されるのは何故なのでしょうか?
調べてもどういう理由からこのように出力されるのか分からず、ご教示いただけないでしょうか?
該当のソースコード
class Member { let name: String let age: Int let account: Account init(name: String, age: Int, account: Account) { self.name = name self.age = age self.account = account } } let yoshio: Member = Member(name: "yoshio", age: 62, account: account) print(yoshio) //プロジェクト名.Member
具体的にはどのような表示がでたのでしょうか。
また、表示もplaygroundで実行した場合とiOS Appなどを作成している時の表示は異なってきますが、どちらの環境でしょうか。
そこに書いたらクラスのインスタンスではないような…
すみません、コードは下記記事より引用したものです...。
https://qiita.com/hirothings/items/7cebf623ed0c1765febc
実際に過去にプロジェクト名.クラス名でデバッグエリアに出力されたことがあり、その際はスルーしていたのですが、この記事を見つけ気になったため、質問をさせていただいたという次第です。
コードを軽率にコピペしたため、分かりづらくなってしまい申し訳ございません...。
Xcode 11.3.1 (11C504)/Swift 5.1.3 だと
__lldb_expr_*.Member (playground, *は実行環境による)
<Member: 0x*; ....> (Xcode, *は実行環境による)
となり、少なくともプロジェクト名などは表示されないようです。
参考にされている記事も3年経過しており、現状と異なっている可能性もあります。
「このように表示されることになっている」以外に答えがないような気がします。
ちなみに、質問者さんはどのような結果を期待されていたのでしょうか。
自分も確認してみたところ、同じように出力されました。
最初に手元で確認するべきでした、申し訳ございません。
自分としては記事にある通り、プロジェクト名.クラス名と出力されるものと思っていました(過去に同じ経験をしたことがあったため)。
過去と同じような状況を再現できたので、再度別の質問を投稿させていただきたいと思います。
この度は大変お手数おかけしました。
https://teratail.com/questions/249040
こちらに質問させていただきました。