从NSTextView Objective-C获取选择(突出显示的文本)字符串

ato*_*nda 3 macos xcode objective-c nsstring nstextview

我怎样才能从获得所选文本的字符串NSTextView作为NSString

非常感谢您的帮助.

小智 6

NSText只能有一个选择.使用TextEditapp检查它:在按下CMD的同时用鼠标选择一个字符串.因此,您可以根据需要选择任意数量的字符串.因此我认为,更常见的解决方案是使用:

NSArray *ranges = [myTextView selectedRanges];
Run Code Online (Sandbox Code Playgroud)

然后逐个提取字符串.


Tim*_*Tim 5

由于NSTextView是NSText的子类,因此您可以使用NSText实例方法来计算所选字符串,如下所示:

NSString *selected = [[myTextView string] 
                      substringWithRange:[myTextView selectedRange]];
Run Code Online (Sandbox Code Playgroud)