2010-12-03 7 views
0

私はいくつかのURLを使用しているiPhoneアプリケーションで作業していますが、最後にintを追加するのは難しいです。私は次のコード行を持っています。NSStringとしてintをキャストする際の問題

私は単純にintを末尾に追加する必要があります。 NSURLのurlCardsの結果を出力すると、渡しているintの値、または_deckIDの値を取得するだけです。

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

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

ありがとうございます!

答えて

1

遭遇したのはカンマ演算子です。カンマ演算子は、各オペランドの副作用を評価し、最後の式の結果を評価します。

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

は、最初の部分@"..."は副作用を持たない式であるため、これがあるだけで

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

と評価:例えば:あなたがここに持っているもの

int i; 
int j; 
int z; 

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

コンマ演算子の結果は[NSString stringWithFormat:]メソッドの結果です。

あなたはそれがこの、私が考えて探しているもの:

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

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

0

Y uは、それはあなたの問題を解決し、これを使用して、このよう

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

を試してみてくださいカント。

関連する問題