gpt4 book ai didi

ios - Xcode 7 GM,Swift 2.0 涉及 range 和 advancedBY 的变化

转载 作者:行者123 更新时间:2023-11-29 10:25:33 24 4
gpt4 key购买 nike

好的,Xcode 7 GM 已经出来了,当然这意味着我拥有上周的非常好的 swift 2.0 代码,但今天无法使用。我正在将传递给文本字段委托(delegate)方法的范围转换为快速范围,但我被卡住了。任何帮助,将不胜感激。到目前为止,我了解到 Global advance() 方法已经消失,我们应该改用新的扩展方法 advancedBY,但我不确定它如何适应这种情况。这是我昨天运行的代码......

    // MARK: - Textfield Delegate
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

// Convert the NSRange into a Swift Range
let start = advance(textField.text!.startIndex, range.location)
let end = advancedBy(range.length)
let swiftRange = Range<String.Index>(start: start, end: end)

let text = textField.text!.stringByReplacingCharactersInRange(swiftRange, withString: string)
// Rest of the method here
}

最佳答案

我发现更好的解决方案是像这样转换文本字段文本......

    // MARK: - Textfield Delegate
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

let text = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
// rest of method here
}

在这里找到 - Selected answer to "NSRange to Range"

关于ios - Xcode 7 GM,Swift 2.0 涉及 range 和 advancedBY 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32509149/

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