2013-10-13 16 views
10

@"3:33:23" olan newClock dizesinin son 3 karakterine atamaya çalışıyorum.NSMutableRLEArray objectAtIndex: effectiveRange :: Limit dışı

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)]; 

cevap

31

NSMakeRange (i, j) konumu, i ve uzunluğu j bir dizi oluşturur: yapı NSRange zaman

Ancak bir hata olsun.

örneğin sizin dize boyutu 10 bağlıdır ve aralık 5'inde başlar ve Bunu yaparsanız:

NSMakeRange(5,10) 

Aralığınız böylece dize dışına, 15 5 ila gider.

Dene:

NSMakeRange(newClock.length-3,3)];