我有一个NSString对象" testtimeFrame"我正在转换为NSMutableString对象" mutable"并执行insertStringAtIndex方法.. 我的testtimeframe值是05-8-2012,我想插入" 0"在8之前,但它显示为80而不是08 ..
NSMutableString * mutable = [NSMutableString stringWithString:testtimeFrame];
[mutable insertString:@"0" atIndex:3];
NSLog(@"my day is:%@",mutable);
由于
答案 0 :(得分:2)
是的,这是正确的行为。请记住,索引始终从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
答案 1 :(得分:-1)
显而易见的解决方案是给它一个2而不是3的索引。
也就是说,insertString:atIndex
方法的文档听起来像原始代码应该有效:
新字符从anIndex和现有字符开始 最后的anIndex移动了aString的长度。
由于'8'字符位于索引3,听起来你的0应该放在那里,而8将一个位置向右移动,产生所需的'08'