NSMutableString *chars=[ [NSMutableString alloc] initWithString:@""] ;
NSString *temp=[[self convertDecimalToChar:(digitizer%10)] copy]; //temp is good
[chars stringByAppendingString:temp]; //chars is empty
这里有什么想法吗? 谢谢。
答案 0 :(得分:2)
这一行:
[chars stringByAppendingString:temp];
用来返回组合两个字符串的字符串。
- (NSString *)stringByAppendingString:(NSString *)aString
如果您只想在字符串中附加一个字符串,请执行以下操作:
[chars appendString:temp];
在此处查找文档:
答案 1 :(得分:1)
stringByAppendingString
方法位于非可变NSString
类上,其中非可变意味着您无法修改它。
因此,与大多数其他NSString
方法一样,它返回一个新的NSString
对象,在这种情况下包含原始字符串以及您在参数中传递的任何内容。
但是,鉴于您实际操作NSMutableString
对象,其中 可变,您可能需要使用appendString:
方法:
[chars appendString:temp];
答案 2 :(得分:0)
如果您查看此方法的documentation,则需要执行以下操作:
chars = [chars stringByAppendingString:temp];
它返回一个新的NSString,它结合了两个NSString,而不是实际更改接收器。