首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift 3变异函数丢失('...inPlace‘方法)

Swift 3变异函数丢失('...inPlace‘方法)
EN

Stack Overflow用户
提问于 2016-09-12 00:43:34
回答 2查看 2.9K关注 0票数 7

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

代码语言:javascript
运行
复制
var rect = CGRect(...)
rect.offsetInPlace(dx: 15, dy: 0)

将矩形15点向右移动。

然而,在Swift 3中,这个功能似乎已经不存在了。当检查CGRect界面时,我们只能看到非突变变体offsetBy(dx:, dy:)。在我们通常使用变异函数(名为...inPlace)的所有地方也是如此。我已经在GitHub上搜索了Swift进化存储库,但找不到任何关于这方面的注释。

变异的变种被移除了吗?剩余的函数是否会根据是否使用返回值而自动发生变化?如果它们真的被移除了,那就太可惜了,因为它们过去在做基于代码的布局时非常方便。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-13 03:44:26

似乎不再有offsetInPlace了。请看这里的屏幕是Instance Methods中的所有可用功能

票数 5
EN

Stack Overflow用户

发布于 2016-09-16 06:16:15

为了兼容,您可以创建一个。

代码语言:javascript
运行
复制
extension CGRect {
    mutating func offsetInPlace(dx: CGFloat, dy: CGFloat) {
        self = self.offsetBy(dx: dx, dy: dy)
    }
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39438362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档