在Swift 2.3中,我们可以这样写:

var rect = CGRect(...)
rect.offsetInPlace(dx: 15, dy: 0)

向右移动一个15pt矩形。

但是在Swift 3中,似乎此功能不再存在。
在检查CGRect接口(interface)时,我们只能看到非变异变体offsetBy(dx:, dy:)。在我们通常使用的变异函数(命名为...inPlace)的所有地方也是如此。我已经在GitHub上搜索了Swift的开发仓库,但是找不到关于此的任何注释。

变异变体是否已删除?剩余的功能是否根据使用的返回值自动改变?恕我直言,如果实际上将它们删除了,那将是一个耻辱,因为在进行基于代码的布局等操作时,它们非常方便。

最佳答案

似乎不再有offsetInPlace了。请查看屏幕,这里是Instance Methods中所有可用的功能
Swift 3变异函数缺少('...inPlace'方法)-LMLPHP

关于Swift 3变异函数缺少('...inPlace'方法),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39438362/

10-09 16:19