objective-c - NSMutableRLEArray objectAtIndex:effectiveRange::越界

标签 objective-c ios7 nsrange nsrangeexception

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

关于objective-c - NSMutableRLEArray objectAtIndex:effectiveRange::越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19344671/

相关文章:

ios - 搜索显示 Controller 结果 TableView 无法在 iOS 6 中滚动

ios - 响应选择器但抛出错误

authentication - coinbase oauth2 有时无法更新访问 token (使用刷新 token )

ios - 更改 UIBarButtonItem 的 Tint 颜色

iphone - Cocoa/iOS/iPhone 中的模型对象所有权和 MVC

ios - 滑动UITableViewCells如何实现?

ios6 - 在 iOS 6 和 7 中验证购买收据

iphone - NSRange : incorrect behavior. 为什么?

ios - 逐字符向 NSMutableAttributedString 添加属性

ios - 搜索 NSString 中的任何字符