2017-07-19 8 views
-1
NSString *userUpdate = [NSString stringWithFormat:@"grant_type=password&Password=%@&UserName=%@&SchoolId=1",[params valueForKey:@"UserName"@"Password"]]; 

このコードを実行しているときにエラーが発生します。このコードは正しいですか?値のNSStringキー

+0

編集してください質問をして、より合理的にするために必要な書式を適用してください。 – raki

答えて

1

valueForKeyを使用して一つの値だけを取得します。 [params valueForKey:@"UserName"]のようなユーザー名を使用する構文については[params valueForKey:@"Password"]

のようなパスワードへのアクセスを得るための

以下

[params valueForKey:@"UserName"@"Password"]のような両方の値と同じ時間の使用がサンプルコードで取得できません:

NSString *userUpdate = [NSString stringWithFormat:@"grant_type=password&Password=%@&UserName=%@&SchoolId=1",[params valueForKey:@"Password"],[params valueForKey:@"UserName"]]; 
3

あなたのコードの問題は、%@ doubleを2回書いて、エラーの主な原因である単一の値しか提供していないことです。

NSDictionaryには、valueForKeyを使用して、一度に1つの値しか取得できません。 NSDictionary

使用このコードを

NSString *userUpdate = [NSString stringWithFormat:@"grant_type=password&Password=%@&UserName=%@&SchoolId=1",[params valueForKey:@"Password"],[params valueForKey:@"UserName"]]; 
+0

あなたの答えにOPを明確にするように説明を追加できますか?彼が間違ってやっていること – raki