Ios 在UITextView中高亮显示文本

Ios 在UITextView中高亮显示文本,ios,objective-c,Ios,Objective C,我有一个名为Highlight的菜单项,它调用下面的函数。该功能可更改所选文本的颜色,效果良好。然而,我不确定我做得是否正确。我担心如果\u myTextView(一个UITextView)有大量文本,可能会出现性能问题 如果有更好的方法,你能看一下并提出建议吗 - (void)highlight { NSRange selectedRange = _myTextView.selectedRange; NSMutableAttributedString *attributed

我有一个名为
Highlight
的菜单项,它调用下面的函数。该功能可更改所选文本的颜色,效果良好。然而,我不确定我做得是否正确。我担心如果
\u myTextView
(一个
UITextView
)有大量文本,可能会出现性能问题

如果有更好的方法,你能看一下并提出建议吗

- (void)highlight {

    NSRange selectedRange = _myTextView.selectedRange;

    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]        
                              initWithAttributedString:_myTextView.attributedText];

    [attributedString addAttribute:NSForegroundColorAttributeName 
                      value:[UIColor redColor] 
                      range:selectedRange];

    _myTextView.attributedText = attributedString;

}

这不应该导致性能问题,因为您没有做太重的事情。即使有大量的文本,UIKit也能很好地处理这个问题。这与添加大量文本并在设备上测试以查看其处理方式一样简单


我建议您开始将对象称为self.myObject,而不是_myObject。这是因为如果您需要重写getter,您必须返回并修复代码以使用getter。

这不应该导致性能问题,因为您没有做太多的事情。即使有大量的文本,UIKit也能很好地处理这个问题。这与添加大量文本并在设备上测试以查看其处理方式一样简单

我建议您开始将对象称为self.myObject,而不是_myObject。这是因为如果您需要重写getter,您必须返回并修复代码以使用getter