我在下面有这个代码,它创建一个循环并将循环插入值变量:
int i;
NSString *idts;
for(i=0;i<11;i++){
idts = [NSString stringWithFormat:@"%d<-+->",i];
}
NSLog(@"ORDER -> %@",idts);
我想知道如何在循环中连接变量“idts”的值,因为控制台向我显示以下消息:
10&LT; - + - &GT;
同时,应如下所示:
1·; - + - →2&LT; - + - →3&LT; - + - →4&LT; - + - →5&LT; - + - →6&LT; - + - 大于7&LT; - + - &GT; 8&LT; - + - &GT; 9&LT; - + - →10
有人可以帮助我吗?
答案 0 :(得分:3)
应该是这样的:
NSString *idts = @"";
for(int i=0;i<11;i++){
idts = [NSString stringWithFormat:@"%@%d<-+->", idts, i];
}
否则,您不会添加到当前字符串,而是覆盖变量。
基于@ anon的评论,这里有一种从您的问题中获得确切输出的方法:
NSString *idts = @"";
for(int i=0;i<11;i++){
idts = [NSString stringWithFormat:@"%@%d%@", idts, i, (i != 10) ? @"<-+->" : @""];
}
和@ rmaddy's - 一个可变的字符串会更有效率
NSMutableString *idts = [NSMutableString string];
for(int i=0;i<11;i++){
[idts appendFormat:@"%d%@", i, (i != 10) ? @"<-+->" : @""];
}
答案 1 :(得分:1)
使用NSMutableString
及其appendString
方法。
NSMutableString *idts = [NSMutableString string];
for(i = 0; i < 11; i++){
[idts appendString:[NSString stringWithFormat:@"%d<-+->",i]];
}
答案 2 :(得分:1)
另一种解决方案
idts = [idts stringByAppendingFormat:@"%d<-+->", i];