0

いくつかのURLを使用しているiPhoneアプリで作業していますが、それらの末尾にintを追加するのが困難になっています。次のコード行があります

        NSURL *urlCards = [[NSURL alloc] initWithString:(@"http://website.edu/get_stuff/%@",[NSString stringWithFormat:@"%d",_stuffID])];

の末尾にintを追加するだけです。NSURL urlCardsの結果を出力すると、渡すintの値、または_deckIDの値を取得するだけです。

単にローカルintとして宣言されている_deckIDが、実行時に実際に正しい値を持っていることを確認しました。

私は何が欠けていますか?

ありがとう!!

4

3 に答える 3

1

あなたが遭遇したのはコンマ演算子です。コンマ演算子は、各オペランドの副作用を評価し、最後の式の結果を評価します。例えば:

int i;
int j;
int z;

z = (i = 4, j = 3, i + j);
// z is now 7

あなたがここに持っているもの:

(@"http://website.edu/get_stuff/%@",[NSString stringWithFormat:@"%d",_stuffID])

だけに評価します

[NSString stringWithFormat:@"%d", _stuffID]

これは、最初の部分@"..."が副作用のない式であり、コンマ演算子の結果が[NSString stringWithFormat:]メソッドの結果であるためです。

あなたが探しているものは私が思う、それはこれです:

NSString *urlString = [NSString stringWithFormat:@"http://website.edu/get_stuff/%d",_stuffID];
NSURL *urlCards = [[NSURL alloc] initWithString:urlString];

KingofBlissの答えのように、1行でそれを行うこともできます。

于 2010-12-03T04:44:07.093 に答える
0

なぜあなたはこのように試すことができないのですか?

NSURL *urlCards = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://website.edu/get_stuff/%d",_stuffID]];
于 2010-12-03T04:36:55.630 に答える
0
NSString *urlString=[NSString stringWithFormat:@"http://website.edu/get_stuff/%d",_stuffID];
NSURL *urlCards = [[NSURL alloc] initWithString:urlString];

これを使用すると、問題が解決します。

于 2010-12-03T04:43:33.017 に答える