配列から文字列(整数を含む)を抽出し、それを関数のintとして使用しようとしています。私はintValueを使用してintに変換しようとしています。
これが私が試したコードです。
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
私はこのエラーを受け取ります:
'loggedIn :::'の引数3を渡すと、キャストなしで整数からポインターが作成されます
どうしましたか?
私はこの質問について何がそんなに難しいのか本当に知りませんが、私はどうにかこの方法でそれをすることができました:
[myStringContainingInt intValue];
次のこともできることに注意してください。
myStringContainingInt.intValue;
[str intValue]または[str integerValue]のような文字列を変換するだけです
integerValue受信者のテキストのNSInteger値を返します。
詳細については here を参照してください
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
_returnedArguments
は、UITextField text
プロパティが期待するNSStrings
の配列です。変換する必要はありません。
構文エラー:
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
_appDelegateにpasswordField
プロパティがある場合、次を使用してテキストを設定できます。
[[_appDelegate passwordField] setText:[_returnedArguments objectAtIndex:2]];
基本的に、loggedIn
の3番目のパラメーターは整数ではなく、何らかのオブジェクトである必要がありますが、メソッド呼び出しでパラメーターに名前を付けなかったため、確実にはわかりません。確実に確認できるように、メソッドシグネチャを提供します。おそらくNSNumber
または何かが必要です。