0
各プロパティを手動でnilに設定するよりも、すべての構造体プロパティをnilに設定する方が良いでしょうか?私はハロー構造体にSwift 3:すべての構造体プロパティをnilに設定する方法
struct Hello {
var salutation: String?
var name: String?
}
let hello = Hello(salutation: "Mr.", name: "James")
をお持ちの場合は
は現在、私は値をリセットするためにこれをやっている:
func removeAll() {
salutation = nil
name = nil
}
私は構造体が大きい、特により良い方法を見つけることの一種です。
私はミラーを使用するには、いくつかの推奨事項を参照してくださいが、私は「プロパティに割り当てることができません: 『$ 0』不変である」エラーを得た助けを
func removeAll() {
let mirror = Mirror(reflecting: self)
let properties = mirror.children.flatMap { $0.value = nil }
}
ありがとう!
こんにちはマット、遊び場にそれは大丈夫ですが、Xcodeの中に、私は警告を得た: '値を、オプションのこんにちは?アンラップされていない。あなたは使用するつもりでした!または? ' '! 'を使用しても安全ですか?ここに? 私はあなたの例のように変異funcを追加しました。 – Vina
あなたの「Xcode内」コードがどのように見えるのか分かりません。私は、あなたが "オプションのタイプの" Hello? "という結果になると言ったことについては何もないので、あなた自身が追加したいくつかの合併症でなければなりません。 – matt
申し訳ありませんが、私はinit()関数を持っています... – Vina