tam burada devam, bu nedenle bu temel sorunun sebebini açıklamak olmayan diğer cevaplar:
Eğer blackKey.center.x
, yazarken blackKey.center
ve center.x
hem yapı elemanı erişir gibi görünür, ama onlar' aslında tamamen farklı şeyler. blackKey.center
, [blackKey center]
gibi bir desugars'a karşılık gelen bir özellik erişimidir, bu da objc_msgSend(blackKey, @selector(center))
gibi bir şeye karşılık desugars'tır. objc_msgSend(blackKey, @selector(center)).x = 2
gibi bir işlevin dönüş değerini değiştiremezsiniz - sadece anlamlı değildir, çünkü geri dönüş değeri depolanmış her yerde anlamlı değildir.
Yapısını değiştirmek isterseniz, bir değişkenin özellik değerini döndürmeniz gerekir, değişkeni değiştirin ve sonra özelliği yeni değere ayarlayın.
Not CGRectGetMaxX (whiteKey.frame) '. – ThomasW