我试图制作一个计算器然后我有3个UITextFields。 它是一种简单的力量计算。 因此你必须至少放入2个字段,然后计算其他字段。 如果2个字段中没有任何内容,则必须有UIAlertView。
我已经有了UIAlertView,它可以工作。但问题是我设置了If函数,两个Fields必须有一些文本,当我尝试并只放在一个字段中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]];
}
}
答案 0 :(得分:0)
||是指OR,&&意味着和。如果你做arg1 || arg2,如果其中一个是空的,你会收到警报。
if (![masseEingabe.text length] > 0 || ![beschleunigungEingabe.text length] > 0) {
我无法打开Xcode并亲自尝试,但如果不起作用,请尝试(!([thingy.text length]>0) || !(samethingagain)
答案 1 :(得分:0)
如果UITexfield
中的任何一个为空,您想要显示alertView吗?
然后@Oscar
是正确的,如果只想在||
中的一个为空时显示UIAlertView
,则必须使用UITextfield
逻辑运算符。
仅当两个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)