С учетом NSRange и NSAttributedString, как лучше всего проверить, что диапазон действителен и не превысит границы приписанной строки?
Я пытаюсь сделать это:
[mutableAttributedString enumerateAttribute:NSFontAttributeName inRange:underlineRange options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired usingBlock:^(id value, NSRange range, BOOL * _Nonnull stop) {
....
Однако underlineRange
можно манипулировать таким образом, чтобы он выходил за пределы диапазона mutableAttributedString
. В этом случае это приводит к исключению.
Какой лучший способ справиться с этим делом? Я не могу найти метод NSAttributedString, который позволяет вам проверить, является ли диапазон допустимым для данной приписанной строки.