私はSwiftをしばらく使っていますが、まだ毎日optionals
の理解に苦しんでいます。私が現在把握するのが最も難しいことです。スウィフト - まだ表示されていない文字列はそのまま表示されます。
この「UserDefaults」値をアンラップして、「オプション()」環境を含まないようにするのに問題があります。
値
let tValues = def.string(forKey: "bgColor")!.components(separatedBy: " ")
print(tValues)
//print this: Optional(UIExtendedGrayColorSpace", "1", "1)
def
に読み取り値を
globals.defaults.set(String(describing: cardView.backgroundColor), forKey: "bgColor")
print(String(describing: cardView.backgroundColor!))
//print this: UIExtendedGrayColorSpace 1 1
を格納するUserDefaults.standard
のインスタンスです。あなたが見ることができるように、私はそれを読むときに鍵をアンラップしています。そして私はそこでそれをやってみたのですが、代わりにprint(tValues)!
に行ってみました。しかし、彼らは同じ結果を生み出します。
どうすればOptional()
を取り除くことができますか?
'backgroundColor'したがって、(記述:cardView.backgroundColor)を'文字列、*任意*プロパティである '文字列 "オプション(UIExtendedGrayColorSpace 1)" を与えます。デフォルトに保存するときは、色をアンラップしません。 –
'String(description:cardView.backgroundColor)'を印刷するとオプションではありません。 _値を保存するセクションの私のコメントを参照してください – TheValyreanGroup
*印刷*ステートメント(2行目)では、色をアンラップします。しかし、デフォルトの色に色を保存する最初の行にはありません。 –