【发布时间】:2016-10-10 13:21:48
【问题描述】:
我有一个生成的字符串(带有图像附件的 UITextView 的内容),需要将其保存到数据库中
let textView = UITextView()
textView.text = "some text"
let attString = NSMutableAttributedString(string: " ")
attString.replaceCharactersInRange(NSMakeRange(0, 1), withAttributedString: NSAttributedString(attachment: NSTextAttachment()))
textView.textStorage.insertAttributedString(attString, atIndex: textView.text.length)
print("\(textView.text)")
输出:“一些文本”。但是如果通过调试器查看 textView.text 的内容,文本中包含“some text\u{ef}”
如何从 textView.text 中删除 \u{ef} 并在 textView.text 中获取“一些文本”?
textView.text = textView.text.stringByReplacingOccurrencesOfString("\u{ef}", withString: "")
没有达到预期效果
当前修复:
text = String(text.characters.filter() { $0 <= "~" })
【问题讨论】:
-
字符串是如何获取和打印出来的?
-
字符串来自具有图像属性的 UITextView 在 XCode 的调试模式下,当看到字符串内容时,它看起来像“\u{ef}some text\u{ef}”,但使用 print()看起来完全符合我的要求:“一些文字”
-
请将所有相关信息(包括打印语句)添加到问题中,不要添加到cmets中。
-
马丁,我在小测试中重现了情况,并在问题正文中插入了代码
-
我无法用上面的代码重现这个。 (我什至无法编译上面的代码;这是为什么版本的 iOS 构建的?
textView.text返回String,它没有length。我想你的意思是textView.attributedText.length)事实上你的@ 987654328@ 语句的行为符合预期表明您在调试时遇到问题。您是否有实际程序行为出乎意料的示例?