1

私はこのようなことをすることを考えています:

    NSString *path = [NSString stringWithFormat:@"http://www.somedomain.com?id=%@&email=%@",
[id.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]], 
[emailField.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]];

それはうまくいくでしょうか?または、フィールドが空白の場合、何らかのエラーが発生しますか?

ありがとう!

4

3 に答える 3

5

フィールドが空白の場合、id=(null)&email=(null)フォーマットされたときに含まれるURLを取得します。

この場合、nilnilになるオブジェクトのいずれにもメッセージを送信していないため、メッセージを短絡することを期待しても機能しません。

両方のフィールドを個別にチェックし、@ ""に設定するか(APIがそれを処理できる場合)、URLからクエリ文字列を省略する必要があります。

于 2013-03-26T13:21:55.423 に答える
2

トリミングには必要ありません。nullにメッセージを送信しても効果はないため、同時にそのURLが有効かどうかを確認する必要があります。

于 2013-03-26T13:28:06.320 に答える
1

次の方法を使用して、nullかどうかを確認できます

 if ([[emailField text] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]].length ==0 ||[[id text] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]].length ==0 )
{
//Dont call api
}else{
// call api
}
于 2013-03-26T13:22:59.820 に答える