私はYelp APIを使用しており、YLPBusinessをプルダウンしています。 YLPBusinessをprint()またはdump()しようとすると、コンソールログにメモリアドレスだけが表示されます。Swift - オブジェクトのメモリアドレスのみを印刷することができます
ただし、(YLPBusiness.name)を印刷すると、その名前が送られます。 YLPBusinessオブジェクトのすべてのプロパティ値を完全に印刷するにはどうすればよいですか?
私はYelp APIを使用しており、YLPBusinessをプルダウンしています。 YLPBusinessをprint()またはdump()しようとすると、コンソールログにメモリアドレスだけが表示されます。Swift - オブジェクトのメモリアドレスのみを印刷することができます
ただし、(YLPBusiness.name)を印刷すると、その名前が送られます。 YLPBusinessオブジェクトのすべてのプロパティ値を完全に印刷するにはどうすればよいですか?
あなたのクラスdescription
プロパティをオーバーライドする必要があります。スウィフトはスウィフト型システムとObjective-経由で見効果的な行動に過負荷をとオーバーライドの間の矛盾点を検出するのでそれが起こっ
public override var description: String {
return "Business name: \(self.name), address: \(self.address), etc."
}
:
あなたはプロパティにあなたの方法を回すことにより、コメントに記載された問題を修正することができますCランタイム。
あなたが実際にオブジェクトのdescription
メソッドを呼び出しているオブジェクトを印刷します。 YLPBusiness
クラスはこのメソッドを実装していないようです。 description
メソッドを実装したYLPBusiness
の拡張を作成できます。あなたが望むとおりにYLPBusiness
のすべてのプロパティを印刷
func description() -> String {
return "Business name: \(self.name), address: \(self.address), etc."
}
:
意味があります。明確化のためにありがとう! –
それはそれを解決します!どうもありがとうございました。あなたとPaulw11はどちらも正しい考えを持っています。本当にありがとう! –
私の喜びを助けてください。それがあなたのニーズに合っていれば、1つの答えを受け入れることを検討してください。 – KlimczakM
私が残っている唯一のトリックは、YelPAPIがObjective-Cにあり、YLPBusinessをサブクラス化してdescription()funcを修正しようとしたときです... Objective-Cで "Method 'description() Cセレクタの 'description'が同じObjective-Cセレクタ "NSObject"の "description"のgetterと競合して " –