2

私のアプリでは、CGPointのx値がifステートメントのゼロと異なるかどうかを確認しています。ただし、ポイントのx値はゼロですが、アプリはifステートメントに入ります。コードは次のとおりです。

CGPoint previousPoint;

     if (previousPoint.x != 0) {
            NSLog(@"YES");
            CGContextMoveToPoint(context, previousPoint.x, previousPoint.y);
            CGContextAddLineToPoint(context, 150+(40*[[[self.grades objectAtIndex:i] semesterGPA] doubleValue]), 59+(40*(i+1)));
        }
    }

アプリを実行した後、previousPointが(0.000000、0.000000)であるように表示されるべきではありませんが、「YES」が出力されます。これを修正するにはどうすればよいですか?

4

1 に答える 1

2

previousPoint何らかの値で開始されていることを確認してください! float を int ではなく float と比較します。

CGPoint previousPoint;

     if (previousPoint.x != 0.0f) {
            NSLog(@"YES");
            CGContextMoveToPoint(context, previousPoint.x, previousPoint.y);
            CGContextAddLineToPoint(context, 150+(40*[[[self.grades objectAtIndex:i] semesterGPA] doubleValue]), 59+(40*(i+1)));
        }
    }
于 2013-03-23T13:50:01.953 に答える