おそらく明らかな何かが欠けています (まだ Objective-C について学んでいます!) が、何らかの理由で NSString 変数の 1 つがif
ステートメントに null 値を持っていて、その理由がわかりません。
NSLog への出力さえありますが、なぜこのように動作するのかまだわかりません。
基本的に、ユーザーはテキスト フィールド ( itemWeight ) に金額を入力します。このif
ステートメントは入力を検証し、結果に応じてアラートを表示します。問題は 0.751 が入力された場合のみのようです。他の量 (0.750、0.749、0.752、0.753 など) を入力すると、期待どおりに機能します。
関連するコード サンプルは次のとおりです...
.h ファイル:
@property (strong, nonatomic) IBOutlet UITextField *itemWeight;
.m ファイル:
NSString *rawWeightText = itemWeight.text;
float convertedWeightText = rawWeightText.floatValue;
NSString *weightMessage;
if (convertedWeightText <= 0.750)
{
weightMessage = @"under 0.750";
}
else if (convertedWeightText >= 0.751)
{
weightMessage = @"0.751 or over";
}
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Error"
message: weightMessage
delegate: nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
私が間違っている/私がするのを忘れたアイデアは大歓迎です、ありがとう!