gpt4 book ai didi

swift - 无法将类型 'Range' 的值转换为预期的参数类型 'UITextRange'

转载 作者:搜寻专家 更新时间:2023-11-01 05:33:53 25 4
gpt4 key购买 nike

如何根据字符串创建范围。使用下面的代码,我收到错误“无法将‘Range’类型的值转换为预期的参数类型‘UITextRange’”。仅供引用 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()
}
}

最佳答案

您的代码中有两个问题。首先,您需要在 textView 文本属性中应用您的方法。第二个问题是您使用了错误的方法,要替换您需要使用 replaceSubrange 方法的字符串范围。所以你的代码应该是这样的:

textView.text.replaceSubrange(range, with: secondString)

关于swift - 无法将类型 'Range<String.Index>' 的值转换为预期的参数类型 'UITextRange',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46405822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com