如何根据字符串创建范围。使用下面的代码,我收到错误“无法将类型'Range'的值转换为预期的参数类型'UITextRange'”。 FYI print(firstString [range])成功输出“xxx”。
class ViewController: UIViewController {
@IBOutlet weak var textView: UITextView!
let firstString: String = "xxx"
let secondString: String = "yyy"
override func viewDidLoad() {
super.viewDidLoad()
textView.text = firstString
}
func replace() {
var finalString: String?
let range = firstString.startIndex..<firstString.endIndex
print(firstString[range])
textView.replace(range, withText: secondString)
}
@IBAction func replaceButton(_ sender: Any) {
replace()
}
}
答案 0 :(得分:0)
您的代码中存在两个问题。首先,您需要在textView文本属性中应用您的方法。第二个问题是你使用了错误的方法,要替换你需要使用replaceSubrange方法的字符串范围。所以你的代码应该是这样的:
textView.text.replaceSubrange(range, with: secondString)