需要有Objective-C计划的建议

时间:2011-11-16 17:01:37

标签: objective-c xcode4.2

仍然在目标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,但那部分我可以开始工作。任何指针都将非常感激。

1 个答案:

答案 0 :(得分:1)

更改此

if(angleA.text, angleB.text = @"") {

if ([angleA.text isEqualToString: @""] && [angleB.text isEqualToString: @""]) {

else if部分相同。