0

我似乎无法解决这里出现的错误:“从不兼容的类型'void'分配给'NSMutableString *__strong'”。我试图附加的数组字符串值是一个 NSArray 常量。

NSMutableString *reportString     
reportString = [reportString appendString:[reportFieldNames objectAtIndex:index]];
4

5 回答 5

6

appendString是一种void方法;你可能正在寻找

reportString = [NSMutableString string];
[reportString appendString:[reportFieldNames objectAtIndex:index]];

append您可以通过将其与初始化相结合来完全避免:

reportString = [NSMutableString stringWithString:[reportFieldNames objectAtIndex:index]];

请注意,还有另一种附加方法NSString需要赋值:

NSString *str = @"Hello";
str = [str stringByAppendingString:@", world!"];
于 2012-11-08T21:18:18.263 回答
1

appendString 已经将一个字符串附加到您将消息发送到的字符串中:

[reportString appendString:[reportFieldNames objectAtIndex:index]];

这应该足够了。请注意,如果您在 Xcode 4.5 中开发,您也可以这样做:

[reportString appendString:reportFieldNames[index]];
于 2012-11-08T21:18:08.690 回答
0

试试这个:

NSMutableString *reportString = [[NSMutableString alloc] init];
[reportString appendString:[reportFieldNames objectAtIndex:index]];
于 2012-11-08T21:16:20.480 回答
0

appendString 是一个 void 方法。所以:

NSMutableString *reportString = [[NSMutableString alloc] init];
[reportString appendString:[reportFieldNames objectAtIndex:index]];
于 2012-11-08T21:18:31.603 回答
0

NSMutableString 方法appendString:不返回任何内容,因此您不能为其分配不存在的返回值。这就是编译器试图告诉你的。您要么想要 NSString ,要么stringByAppendingString:只想使用[reportString appendString:[reportFieldNames objectAtIndex:index]];而不分配返回值。

(当然,您需要先创建一个字符串才能进入reportString,但我假设您只是为了完整性而将其排除在外。)

于 2012-11-08T21:19:36.420 回答