web-dev-qa-db-ja.com

文字列からの客観的なC解析整数

配列から文字列(整数を含む)を抽出し、それを関数のintとして使用しようとしています。私はintValueを使用してintに変換しようとしています。

これが私が試したコードです。

  NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
  [_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];

私はこのエラーを受け取ります:

'loggedIn :::'の引数3を渡すと、キャストなしで整数からポインターが作成されます

どうしましたか?

117

私はこの質問について何がそんなに難しいのか本当に知りませんが、私はどうにかこの方法でそれをすることができました:

[myStringContainingInt intValue];

次のこともできることに注意してください。

myStringContainingInt.intValue;

265

[str intValue]または[str integerValue]のような文字列を変換するだけです

integerValue受信者のテキストのNSInteger値を返します。

  • (NSInteger)integerValue戻り値受信者のテキストのNSInteger値。10進表現を想定し、文字列の先頭の空白をスキップします。受信者が数値の有効な10進テキスト表現で始まっていない場合、0を返します。

詳細については here を参照してください

8
Danyun Liu
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]];
1
falconcreek

基本的に、loggedInの3番目のパラメーターは整数ではなく、何らかのオブジェクトである必要がありますが、メソッド呼び出しでパラメーターに名前を付けなかったため、確実にはわかりません。確実に確認できるように、メソッドシグネチャを提供します。おそらくNSNumberまたは何かが必要です。

0