NSMutableRLEArray objectAtIndex: effectiveRange:: Вне границ
Я пытаюсь присвоить атрибуты 3 последним символам строки newClock
, которая @"3:33:23"
.
Однако я получаю сообщение об ошибке при построении NSRange
:
NSMutableAttributedString *mas = [[NSMutableAttributedString alloc]initWithString:newClock];
[mas addAttributes:@{NSForegroundColorAttributeName:[UIColor grayColor],
NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue-Light" size:12]}
range:NSMakeRange(newClock.length-3,newClock.length)];
Ответы
Ответ 1
NSMakeRange (i, j) создает диапазон с местоположением я и длиной j.
Если, например, размер вашей строки равен 10, а ваш диапазон начинается с 5, и вы делаете это:
NSMakeRange(5,10)
Ваш диапазон от 5 до 15, поэтому из вашей строки.
Try:
NSMakeRange(newClock.length-3,3)];