繁体   English   中英

UIAlert if函数

[英]UIAlert if function

我试图做一个计算器,然后我有3个UITextFields。 它是力的简单计算。 因此,您必须至少放入2个字段,然后才能计算其他值。 如果2个字段中没有任何内容,则必须有一个UIAlertView。

我已经有一个UIAlertView并且它可以工作。 但是问题是我将If函数设置为两个字段必须在其中包含一些文本,而当我尝试将它仅放在一个字段中时,UIAlertView不会显示,您能帮我吗?

这是我正在使用的代码...

- (IBAction)berechnen:(id)sender
{
float kraft = [kraftEingabe.text floatValue];
float masse = [masseEingabe.text floatValue];
float beschleunigung = [beschleunigungEingabe.text floatValue];


if (![masseEingabe.text length] > 0 && ![beschleunigungEingabe.text length] > 0) {

UIAlertView *nachricht =
[[UIAlertView alloc]
initWithTitle:@"Achtung"
message:@"Es müssen 2 Variablen eingegeben werden"
delegate:nil cancelButtonTitle:@"OK"
otherButtonTitles:nil];

[nachricht show];

}
if ([masseEingabe.text length] > 0 && [beschleunigungEingabe.text length] > 0) {

float berechnung = masse * beschleunigung;

[kraftEingabe setText:[NSString stringWithFormat:@"%.5f", berechnung]];
}

if ([kraftEingabe.text length] > 0 && [beschleunigungEingabe.text length] > 0) {

float berechnung = kraft / beschleunigung;

[masseEingabe setText:[NSString stringWithFormat:@"%.5f", berechnung]];
}

}

|| 表示OR,&&表示AND。 如果执行arg1 || arg2,如果其中之一为空,您将收到警报。

if (![masseEingabe.text length] > 0 || ![beschleunigungEingabe.text length] > 0) {

而且我也不必费心打开Xcode自己尝试一下,但是,如果那行不通,请尝试(!([thingy.text length]>0) || !(samethingagain)

因此,如果UITexfield中的任何一个为空, UITexfield显示alertView吗? 然后@Oscar是正确的,您必须使用|| 如果仅当UITextfield为空时才想显示UIAlertView则为逻辑运算符。

仅当两个UITextfield均不大于0时,才会显示警报

if (![masseEingabe.text length] > 0 && ![beschleunigungEingabe.text length] > 0)

所以应该是:

if (![masseEingabe.text length] > 0 || ![beschleunigungEingabe.text length] > 0)

在我看来,您设置条件的方式有点难以理解,我更喜欢:

if ([masseEingabe.text length] == 0 || [beschleunigungEingabe.text length] == 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM