0

ここに表示されるエラーを解決できないようです:「互換性のない型 'void' から 'NSMutableString *__strong' に割り当てています」。追加しようとしている配列文字列値は NSArray 定数です。

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

5 に答える 5

6

appendStringvoidメソッドです。あなたはおそらく探している

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 に答える