0
NSString * myText = @"This is my really long text view";
NSUInterger textLenght = [myText length]; //NSLog 32

選択した長さの位置にテキストを挿入するにはどうすればよいですか。たとえば、長さ10で?

これを試しましたが、機能しません。

NSRange textRange = [myText rangeOfComposedCharacterSequenceAtIndex:10];
[myText stringByReplacingCharactersInRange:textRange withString:@"NEW"];
4

1 に答える 1

3

割り当てます:

myText=[myText stringByReplacingCharactersInRange:textRange withString:@"NEW"];

NSString は不変であり、その文字を変更することはできません。そのため、stringByReplaceingCharactersInRange は文字を再配置せず、ゼロから構築された別の文字列を返します。

NSMutableStringを使用することを考慮してください。

NSMutableString * myText = [[NSMutableString alloc]initWithString: @"This is my really long text view"];
NSRange textRange = [myText rangeOfComposedCharacterSequenceAtIndex:10];
[myText replaceCharactersInRange: textRange withString:@"NEW"];
于 2012-12-27T16:13:26.920 に答える