現在UIcolorをuserdefaultに保存するため一旦Data型にして、それを取り出すときはそこからまた戻して使うというようにしています。
Swift
1let c:Data = NSKeyedArchiver.archivedData(withRootObject: Color) 2 3let cc = NSKeyedUnarchiver.unarchiveObject(with: c) as? UIColor
しかしここでこのdata型を一旦StringやNSNumberなどにしておきたい場面が出てきました。Data型は例えば以下のようにすると16進数で表示できるようです。
Swift
1let c:Data = NSKeyedArchiver.archivedData(withRootObject: Color) 2print(c.map { String(format: "%.2hhx", $0) }.joined())
しかしこれをまたdata型に戻すことができません。やりたい事としてはdata型になったUI colorを一旦文字列orNSNumberにしてからまたDataやUIcolorにしたいという事なのでやり方は問いません。
因みに一旦文字列にするという理由はAWSのNoSQLに格納する際にcolumnの型を選ぶのですが、その際にData型に合うものが無く、一旦これらの型にして保存しておきたいという事です。Dat型が直接保存できればいいのですが。。。
回答1件
あなたの回答
tips
プレビュー