เปรียบเทียบสอง CGRects


95

ฉันจำเป็นต้องตรวจสอบว่าเฟรมของมุมมองของฉันเท่ากับ CGRect ที่กำหนด ฉันลองทำแบบนี้:

CGRect rect = CGRectMake(20, 20, 20, 20);
if (self.view.frame == rect)
{
    // do some stuff
}

Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')แต่ผมมีข้อผิดพลาดว่า ทำไมฉันไม่สามารถเปรียบเทียบสองตัวCGRectได้?

คำตอบ:





2

ใน Swift เพียงแค่ใช้==หรือ!=ตัวดำเนินการที่เหมาะกับฉัน:

    let rect = CGRect(x: 0, y: 0, width: 20, height: 20)

    if rect != CGRect(x: 0, y: 0, width: 20, height: 21) {
        print("not equal")
    }

    if rect == CGRect(x: 0, y: 0, width: 20, height: 20) {
        print("equal")
    }

คอนโซลดีบักพิมพ์:

not equal
equal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.