0

NSMutableAttributedStringがあり、そこからサブストリングを取得する必要があります。次のコードを使用してサブストリングを取得します。

startIndexとendIndexは2つの長い変数です。

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. したがって、2 番目は 10958 から 10958 + 12961 = 23919 になり、範囲外になります。

于 2011-06-10T20:52:39.997 に答える