UIAlert if function



我试图制作一个计算器,然后我有 3 个 UITextFields。这是对力的简单计算。所以你必须至少放 2 个字段,然后计算出 orther。如果 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]];
}
}

所以你想显示警报视图,如果UITexfield中的任何一个为空?那么@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)

|| 表示 OR,&& 表示 AND。如果你做 arg1 ||arg2,如果其中一个为空,您将收到警报。

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

而且我懒得打开Xcode并自己尝试一下,但是如果这不起作用,请尝试(!([thingy.text length]>0) || !(samethingagain)

最新更新