newClock
文字列の最後の3文字、つまり@"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)];
NSMakeRange(i、j)は、位置iと長さjの範囲を作成します。
たとえば、文字列のサイズが10で、範囲が5から始まる場合、次のようにします。
NSMakeRange(5,10)
範囲は5から15なので、文字列から外れます。
試してください:
NSMakeRange(newClock.length-3,3)];