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)));
        }
    }

运行应用程序后打印“YES”,虽然它不应该像 previousPoint 是 (0.000000, 0.000000) 我该如何解决这个问题?

4

1 回答 1

2

确保previousPoint以一定的价值启动!并将 float 与 float 而不是 int 进行比较。

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 回答