0

我有一个 NSMutableAttributedString,我需要从中获取子字符串。我使用以下代码获取子字符串,

startIndex 和 endIndex 是两个长变量。

NSMutableAttributedString *currentString = (NSMutableAttributedString *)[attributtedString attributedSubstringFromRange:NSMakeRange(startIndex, endIndex)];

但如果指数走高,也有例外。字符串长度始终为 - 21212 当我给定值(9048、10958)时我可以得到输出但之后当我给定值(10958、12961)时出现异常,

NSConcreteMutableAttributedString attributedSubstringFromRange:: Out of bounds

帮助我解决这个问题,或者给我一个更好的方法来从 NSMutableAttributedString 中获取子字符串

提前致谢,

4

1 回答 1

4

这不是 NSRange 的工作方式。它是location(startIndex for you) 和length. 因此,第二个从 10958 变为 10958 + 12961 = 23919,这是超出范围的。

于 2011-06-10T20:52:39.997 回答