将NSString与循环连接起来

时间:2014-04-16 17:09:04

标签: objective-c

我在下面有这个代码,它创建一个循环并将循环插入值变量:

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

有人可以帮助我吗?

3 个答案:

答案 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];