0

本文テキストである大きな属性付き文字列があり、さまざまな場所に 10 個のタイトルを挿入する必要があります。

どこに行く必要があるかはわかっており、その位置から移動しないのでinsertAttributedString:atIndex:、ループで使用してすべてを追加できます。

私の問題は、挿入したいメイン文字列のインデックス値を見つけることです。タイトルの位置に到達するまで、何千もの文字を手動でカウントするよりも簡単な方法を知っている人はいますか??

4

2 に答える 2

1

NSString のインデックスを取得するには、次を使用します。

NSRange range = [string rangeOfString:@"MyString"];

複数のオカレンスがある場合は、次のようにループできます。

NSUInteger count = 0, length = [str length];
NSRange range = NSMakeRange(0, length); 
while(range.location != NSNotFound)
{
  range = [str rangeOfString: @"cake" options:0 range:range];
  if(range.location != NSNotFound)
  {
    range = NSMakeRange(range.location + range.length, length - (range.location + range.length));
    count++; 
  }
}
于 2013-06-17T14:18:17.897 に答える