NSString *wantString;
for (id object in [self.wantTypes allKeys]) {
NSLog(@"object %@",[self.wantTypes objectForKey:object]);
[wantString stringByAppendingString:[self.wantTypes objectForKey:object]];
}
NSLog(@"%@ wantstring",wantString);
日志:
Fys1Formel[19004:60b] object Gravitasjon
Fys1Formel[19004:60b] (null) wantstring
为什么appendString不起作用?我尝试过NSString而不是id
答案 0 :(得分:4)
您正在调用方法来追加字符串但您没有存储或指定该函数的返回。所以你需要分配这个方法的回报:
wantString = [wantString stringByAppendingString:[self.wantTypes objectForKey:object]];
答案 1 :(得分:3)
只是你的欲望串一直是零; 试试吧:
NSString *wantString;
for (id object in [self.wantTypes allKeys]) {
NSLog(@"object %@",[self.wantTypes objectForKey:object]);
wantString = [wantString stringByAppendingString:[self.wantTypes objectForKey:object]];
}
NSLog(@"%@ wantstring",wantString);
答案 2 :(得分:2)
将其更改为NSMutableString并分配它。你也应该使用appendString,stringByAppendingString返回新的字符串,不会改变你当前的字符串。
NSMutableString *wantString = [[NSMutableString alloc] init];
for (id object in [self.wantTypes allKeys]) {
NSLog(@"object %@",[self.wantTypes objectForKey:object]);
[wantString appendString:[self.wantTypes objectForKey:object]];
}
NSLog(@"%@ wantstring",wantString);
答案 3 :(得分:0)
使用NSMuatableString代替,这是NSString和NSMutableString(静态与动态)之间的区别
答案 4 :(得分:0)
您的问题是您没有存储结果。另外你可以检查字符串 你想添加内容。
尝试这样做:
NSString *wantString = @""; // init your string empty
NSString *temp = @"";
for (id object in [self.wantTypes allKeys])
{
temp = [self.wantTypes objectForKey:object];
if (temp.lenght > 0)
{
wantString = [wantString stringByAppendingString:temp];
}
}
NSLog(@"%@",wantString);