仍然在目标c中学习并遇到问题我无法理解。我正在尝试编写一个应用程序来计算角度,我有4个文本字段,2个边和2个角度。用户可以输入2个侧面尺寸,应用程序将计算角度,或者用户可以输入1侧和角度,应用程序将计算另一侧和角度。在这个我弄清楚如何完成这个过程的过程中,我做了这个代码:
- (IBAction)calcPressed {
float a = ([sideA.text floatValue]/[sideB.text floatValue]);
float b = atan(a)*180/3.141592653589;
float e = 90 - b;
angleA.text = [[NSString alloc] initWithFormat:@"%f", b];
angleB.text = [[NSString alloc] initWithFormat:@"%f", e];
进入双方并计算角度,它工作正常。所以现在我需要弄清楚如何允许输入2个边或者1个边和1个角,所以我想出了这个:
- (IBAction)calcPressed {
float a = ([sideA.text floatValue]);
float b = ([sideB.text floatValue]);
float c = ([angleA.text floatValue]);
float d = ([angleB.text floatValue]);
if(angleA.text, angleB.text = @"") {
float e = a/b;
float f = atan(e)*180/3.141592653589;
float g = 90 - f;
angleA.text = [[NSString alloc] initWithFormat:@"%f", f];
angleB.text = [[NSString alloc] initWithFormat:@"%f", g];
} else if (sideB.text, angleB.text = @"") {
float e = tan(c);
b = a/e;
d = 90 - c;
sideB.text = [[NSString alloc] initWithFormat:@"%f", b];
angleB.text = [[NSString alloc] initWithFormat:@"%f", d];
}
}
第一部分工作正常但第二部分没有。就像我说的那样,我对此非常陌生,我确信有一种更好的做事方式,比如可能有更好的方式除以pi,但那部分我可以开始工作。任何指针都将非常感激。
答案 0 :(得分:1)
更改此
if(angleA.text, angleB.text = @"") {
到
if ([angleA.text isEqualToString: @""] && [angleB.text isEqualToString: @""]) {
与else if
部分相同。