【问题标题】:NSMutableRLEArray objectAtIndex:effectiveRange:: Out of boundsNSMutableRLEArray objectAtIndex:effectiveRange:: 越界
【发布时间】:2013-10-21 02:23:50
【问题描述】:

我尝试将属性分配给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)];

【问题讨论】:

    标签: objective-c ios7 nsrange nsrangeexception


    【解决方案1】:

    NSMakeRange(i, j) 创建一个位置为 i 长度为 j 的范围。

    例如,如果您的字符串大小为 10,而您的范围从 5 开始,那么您可以这样做:

    NSMakeRange(5,10)
    

    您的范围从 5 到 15,所以超出了您的字符串范围。

    试试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多