0

私は NSMutableString オブジェクト "mutable" に変換し、insertStringAtIndex メソッドを実行している NSString オブジェクト "testtimeFrame" を持っています。 08..の

NSMutableString * mutable = [NSMutableString stringWithString:testtimeFrame];
[mutable insertString:@"0" atIndex:3];
NSLog(@"my day is:%@",mutable);

ありがとう

4

2 に答える 2

2

はい、それは正しい動作です。index は常に 0 から始まることに注意してください。

0: 0
1: 5
2: -
3: 8

だからあなたのコードは大丈夫です!私はちょうど実行しました:

NSMutableString * mutable = [NSMutableString stringWithString:@"05-8-2012"];
[mutable insertString:@"0" atIndex:3];
NSLog(@"my day is:%@",mutable);

そして、それはうまくいきます!

おそらく次のような問題があります。testtimeframe

于 2012-05-08T07:38:51.210 に答える
-1

明らかな解決策は、インデックスを 3 ではなく 2 にすることです。

とはいえ、メソッドのドキュメントでは、insertString:atIndex元のコードが機能していたはずのように聞こえます。

新しい文字は anIndex で始まり、anIndex から末尾までの既存の文字は aString の長さだけシフトされます。

「8」の文字はインデックス 3 にあるため、0 をそこに配置し、8 を 1 桁右にシフトして、目的の「08」を生成する必要があるように聞こえます。

于 2012-05-08T07:38:17.667 に答える