gpt4 book ai didi

objective-c - "Expression is not assignable"-- 在 Xcode 中将 float 分配为其他两个 float 的总和时出现问题?

转载 作者:IT老高 更新时间:2023-10-28 11:42:27 24 4
gpt4 key购买 nike

在钢琴应用程序中,我正在分配黑键的坐标。这是导致错误的代码行。

'blackKey' 和 'whiteKey' 都是 customViews

blackKey.center.x = (whiteKey.frame.origin.x + whiteKey.frame.size.width);

最佳答案

其他答案并不能完全解释这里发生了什么,所以这是基本问题:

当你编写 blackKey.center.x 时,blackKey.centercenter.x 看起来都像结构成员访问,但它们'实际上是完全不同的东西。 blackKey.center 是一种属性访问,它脱糖为 [blackKey center] 之类的东西,而后者又脱糖为 objc_msgSend(blackKey, @selector(center) 之类的东西))。您不能修改函数的返回值,例如 objc_msgSend(blackKey, @selector(center)).x = 2 - 它只是没有意义,因为返回值不是 < em>存储任何有意义的地方。

所以如果要修改struct,就得把属性的返回值存储在一个变量中,修改变量,然后将属性设置为新的值。

关于objective-c - "Expression is not assignable"-- 在 Xcode 中将 float 分配为其他两个 float 的总和时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com