私は以下のコードスニペットの行で、明らかに機能しないが、私の意図を伝えるものを考えていた。これは、エラーメッセージを、それ自身の初期値内で使用する変数に与えます。初期化時にプロパティ/変数を直接変更することはできますか?
private let formatter = NumberFormatter() {
formatter.maximumFractionDigits = 6
}
私は以下のコードスニペットの行で、明らかに機能しないが、私の意図を伝えるものを考えていた。これは、エラーメッセージを、それ自身の初期値内で使用する変数に与えます。初期化時にプロパティ/変数を直接変更することはできますか?
private let formatter = NumberFormatter() {
formatter.maximumFractionDigits = 6
}
いいえ、あなたは、独自の初期化中にプロパティを変異させることはできません。 何ができることは 「すぐに評価閉鎖」プロパティの初期値を作ることです。
private let formatter: NumberFormatter = {
let fmt = NumberFormatter()
fmt.maximumFractionDigits = 6
// ...
return fmt
}()
これはNumberFormatter
を生成し、所望の特性、 を設定し、formatter
プロパティに結果を割り当てます。
ありがとう、それは素晴らしいです!まさに私がやりたいことですか? – saidaspen
私はこのような何かをすることは標準で、それは初期の仕事だと思う:
class NumberFormatter {
var maximumFractionDigits: Int = 0
init(maximumFractionDigits: Int) {
self.maximumFractionDigits = maximumFractionDigits
}
}
let formatter = NumberFormatter(maximumFractionDigits: 6)
私はSwiftには全く新しく、Stack Overflowに関する質問に新しいことがあります。私が間違った名前や言葉を使用した場合は、私を許してください。 – saidaspen