使用 NSUserDefaults 保存和格式化字符串

Save & Format String using NSUserDefaults

要保存字符串,我使用以下代码:

defaults.setObject(textViews.text, forKey: "userNameKey")

要加载以前保存的字符串,我使用以下代码:

if let name = defaults.stringForKey("userNameKey") {
        textViews.text = name
}

但是,字符串不保留格式 (color)!。是否可以使用 NSUserDefaults 保存字符串并对其进行格式化,还是我需要使用其他方法?

已找到解决方案。 例如在此处保存新文本

 override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

    let data = NSKeyedArchiver.archivedDataWithRootObject(textView.attributedText)
    NSUserDefaults.standardUserDefaults().setObject(data, forKey: "sawedString")

    textView.resignFirstResponder()
}

打开时上传保存的文本

override func viewDidLoad() {

    super.viewDidLoad()

    if let myStringData = NSUserDefaults.standardUserDefaults().objectForKey("sawedString") as? NSData {
    let savedString = NSKeyedUnarchiver.unarchiveObjectWithData(myStringData) as? NSAttributedString
    textView.attributedText = savedString

    }

}

使用 NSAttributedString 代替 NSMutableAttributedString!