要保存字符串,请使用以下代码:
defaults.setObject(textViews.text, forKey: "userNameKey")
要加载以前保存的字符串,我使用以下代码:
if let name = defaults.stringForKey("userNameKey") {
textViews.text = name
}
但是,字符串不会保留格式(color)!
。是否可以使用NSUserDefaults保存字符串并对其进行格式化,还是需要使用其他方法?
答案 0 :(得分:1)
找到解决方案。 保存新文本,例如此处
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!