我似乎无法解决这里出现的错误:“从不兼容的类型'void'分配给'NSMutableString *__strong'”。我试图附加的数组字符串值是一个 NSArray 常量。
NSMutableString *reportString
reportString = [reportString appendString:[reportFieldNames objectAtIndex:index]];
我似乎无法解决这里出现的错误:“从不兼容的类型'void'分配给'NSMutableString *__strong'”。我试图附加的数组字符串值是一个 NSArray 常量。
NSMutableString *reportString
reportString = [reportString appendString:[reportFieldNames objectAtIndex:index]];
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!"];
appendString 已经将一个字符串附加到您将消息发送到的字符串中:
[reportString appendString:[reportFieldNames objectAtIndex:index]];
这应该足够了。请注意,如果您在 Xcode 4.5 中开发,您也可以这样做:
[reportString appendString:reportFieldNames[index]];
试试这个:
NSMutableString *reportString = [[NSMutableString alloc] init];
[reportString appendString:[reportFieldNames objectAtIndex:index]];
appendString 是一个 void 方法。所以:
NSMutableString *reportString = [[NSMutableString alloc] init];
[reportString appendString:[reportFieldNames objectAtIndex:index]];
NSMutableString 方法appendString:
不返回任何内容,因此您不能为其分配不存在的返回值。这就是编译器试图告诉你的。您要么想要 NSString ,要么stringByAppendingString:
只想使用[reportString appendString:[reportFieldNames objectAtIndex:index]];
而不分配返回值。
(当然,您需要先创建一个字符串才能进入reportString
,但我假设您只是为了完整性而将其排除在外。)