İki CGRect karşılaştırması


95

Görüş çerçevemin belirli bir CGRect'e eşit olup olmadığını kontrol etmem gerekiyordu. Bunu şöyle yapmayı denedim:

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

Ancak, söylerken bir hata aldım Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect'). Neden iki kelimeyi karşılaştıramıyorum CGRect?

Yanıtlar:


250

Bunu kullan:

if (CGRectEqualToRect(self.view.frame, rect)) {
     // do some stuff
}



2

Swift'de sadece ==veya !=operatörlerini kullanmak benim için çalışıyor:

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

hata ayıklama konsolu yazdırır:

not equal
equal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.