1

我试图制作一个计算器,然后我有 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]];
}

}
4

2 回答 2

0

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

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

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

于 2013-10-26T15:08:43.433 回答
0

所以你想显示alertView,如果其中一个UITexfield是空的?那么是正确的,如果您想仅在其中一个为空时显示 ,则@Oscar必须使用逻辑运算符。||UIAlertViewUITextfield

仅当两个 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)
于 2013-10-26T15:33:33.760 回答