16

ここで何が欠けているのかわかりません。関数を使用して文字列を連結しようとしてい[NSString stringWithFormat]ます。これが私がやっていることです。

NSString *category = [row objectForKey:@"category"];
NSString *logonUser = [row objectForKey:@"username"];
user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];

ここでの問題は、常に 1 つの変数のみを出力することです。たとえば、カテゴリに「Sports」があり、logonUser に「Leo」がある場合、「In Sports」と出力され、残りのテキストはスキップされます。「In Sports by Leo」と表示されます。

4

4 に答える 4

15

userUILabel ですか? テキストが折り返されたり、切り取られたりしていないことを確認してください。UILabel を大きくしてみてください。

于 2010-04-29T20:48:39.343 に答える
6

試す必要があります:

NSLog(@"In %@ by %@", category, logonUser);

問題を確認するには!デバッガー コンソールで結果を教えてください XD

于 2010-04-29T23:51:42.177 に答える
1

コードは正しいように見えます:

カテゴリ変数に改行または余分な空白が含まれている可能性がありますか? 小さいラベルの場合、文字列全体が表示されない場合があります。3 行目の 2 つの変数を入れ替えてみて、出力を確認してください。

出力から「by」さえも欠落していることに困惑しています。カテゴリ変数の値がテキストをマスクしているように感じます。

于 2010-04-29T22:54:11.123 に答える
0

このコードの最初の行のポイントは何ですか? 3行目とは関係ない?

カテゴリと logonUser の両方がコードに取り込まれていることを 100% 確信していますか? おそらく、user.text = 行の直後に NSLog ステートメントを配置し、3 行目が正常に見えるため、予期した値になっていることを確認してください。

編集

変えてみます

user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];

user.text = [NSString stringWithFormat:@"In %@ by %@", @"category", @"logonUser"];

それが を出力するかどうかを確認しますIn category by logonUser。それは確かに私には正しいように見えるからです。

于 2010-04-29T19:32:04.080 に答える