Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- extension UserDefaults {
- func color(forKey defaultName: String) -> UIColor? {
- var color: UIColor?
- if let colorData = data(forKey: defaultName) {
- color = NSKeyedUnarchiver.unarchiveObject(with: colorData) as? UIColor
- }
- return color
- }
- func set(_ value: UIColor?, forKey defaultName: String) {
- var colorData: NSData?
- if let color = value {
- colorData = NSKeyedArchiver.archivedData(withRootObject: color) as NSData?
- }
- set(colorData, forKey: defaultName)
- }
- }
- extension UIColor {
- class func paper() -> UIColor {
- return UIColor(red:248/255, green:236/255, blue:194/255, alpha:1.0)
- }
- }
- let myObject: UIColor = UIColor.paper()
- let objectArray = [UIColor.white, UIColor.lightGray, UIColor.red, UIColor.paper()]
- print(myObject)
- //Prints: UIExtendedSRGBColorSpace 0.972549 0.92549 0.760784 1
- print(objectArray)
- //Prints: [UIExtendedGrayColorSpace 1 1, UIExtendedGrayColorSpace 0.666667 1, UIExtendedSRGBColorSpace 1 0 0 1, UIExtendedSRGBColorSpace 0.972549 0.92549 0.760784 1]
- let indx : Int = objectArray.index(where: { $0 == myObject })!
- print(indx)
- //Prints: 3
- //Saving
- UserDefaults.standard.set(myObject, forKey: "myKey")
- //Extracting
- let defaultColor : UIColor = UserDefaults.standard.color(forKey: "myKey")!
- print(defaultColor)
- //Prints: UIExtendedSRGBColorSpace 0.972549 0.92549 0.760784 1
- let indexOfSavedColor : Int = objectArray.index(of: defaultColor)!
- //Error Message here: fatal error: unexpectedly found nil while unwrapping an Optional value
- print(indexOfSavedColor)
Advertisement
Add Comment
Please, Sign In to add comment