2013-10-13 45 views
10

我嘗試將屬性分配給newClock字符串的3個最後字符,即@"3:33:23"NSMutableRLEArray objectAtIndex:effectiveRange :: Outbound bounds

但是我得到一個錯誤時構建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)]; 

回答

31

NSMakeRange(I,J)將創建帶有位置i和長度爲j的範圍內。

例如,如果你的字符串的大小爲10,你的範圍開始在5,和你這樣做:

NSMakeRange(5,10) 

你的範圍從5變爲15,所以你的字符串。

嘗試:

NSMakeRange(newClock.length-3,3)]; 
相關問題