Swift NSRange的功能是什么
我对NSRange的功能感到困惑 此代码中NSRange的功能是什么Swift NSRange的功能是什么,swift,foundation,nsrange,Swift,Foundation,Nsrange,我对NSRange的功能感到困惑 此代码中NSRange的功能是什么 shouldChangeTextIn range: NSRange Foundation是Swift之前的一个旧框架。它主要是用Objective-C编写的,并使用它的类型NSRange是一种C结构,在Objective-C中与NSString一起大量使用 NSString转换为Swift作为String,大多数使用NSRange的方法已转换为使用Range(或其他Swift类型)的方法。然而,在某些方法中,由于各种兼容性原
shouldChangeTextIn range: NSRange
Foundation
是Swift之前的一个旧框架。它主要是用Objective-C编写的,并使用它的类型NSRange
是一种C结构,在Objective-C中与NSString
一起大量使用
NSString
转换为Swift作为String
,大多数使用NSRange
的方法已转换为使用Range
(或其他Swift类型)的方法。然而,在某些方法中,由于各种兼容性原因,Objective-C类型仍然存在UITextViewDelegate
和UITextFieldDelegate
是主要示例
要正确使用NSRange
,应首先将String
转换为NSString
,例如:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText: String) -> Bool
let previousText = (textView.text ?? "") as NSString
let newText = previousText.replacingCharacters(in: range, with: replacementText)
...
}
在此方法中,范围
描述正在更改的字符串范围。其位置
告诉您新文本的放置位置,其长度
告诉您有多少以前的文本被替换/删除
例如,
NSRange(位置:2,长度:1)
和replacementText:“
告诉您第三个字符正在被删除(例如,当按backspace时)。您是否尝试过用谷歌搜索此字符?该方法的说明中对此进行了明确说明。