逐个添加不同的字符到NSString?

时间:2010-04-23 09:05:32

标签: objective-c iphone

我正在使用thsi函数从字符串中检索不同的字符,并向它们添加5以显示相应的字符,例如。 'a'显示'f','h'显示'm'.. 但问题是我无法将这些字符添加到一个字符串中,我可以使用它来显示像'fm'......任何人都可以帮忙吗?继承人的代码 strResult(mutablestring)仅变为null。

str=@"John";

int a=[str length];

for(i=0;i<a;i++)
{
  char ch=[str characterAtIndex:i];
  ch=ch+5;
  temp=[NSString stringWithFormat:@"%c",ch];
  [strResult appendString:temp];
  NSLog(@"%c",ch);
}

1 个答案:

答案 0 :(得分:19)

首先,您需要确保分配字符串strResult,如下所示:

NSMutableString *strResult = [NSMutableString string];

二;你可以,而且确实应该使用-appendFormat:将字符添加到字符串中;暂时的额外字符串是没用的。

你想要什么:

NSString *str = @"abcdef";
NSMutableString *strResult = [NSMutableString string];

for (NSUInteger i = 0; i < [str length]; i++) {
  char ch = [str characterAtIndex:i] + 5;
  NSLog(@"%c", ch);
  [strResult appendFormat:@"%c", ch];
}
NSLog(@"%@", strResult);

这应该产生:

f
g
h
i
j
k
fghijk