yon*_*hen 53 ios cgrectmake swift swift3
现在已经在Swift 3.0中删除了CGRectMake,CGPointMake,CGSizeMake等,有没有办法自动更新所有初始化,如CGRectMake(0,0,w,h) to CGRect(x:0,y:0,width:w,height:h).手动过程是非常痛苦的.
当我将代码转换为Current Swift语法时,不确定为什么Apple不会自动转换它...
rob*_*off 79
最简单的解决方案可能只是重新定义Apple带走的功能.例:
func CGRectMake(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> CGRect {
return CGRect(x: x, y: y, width: width, height: height)
}
Run Code Online (Sandbox Code Playgroud)
把它放在你的模块中,所有的调用CGRectMake都会再次运行.
mat*_*att 32
简短的回答:不要这样做.不要让Apple老板你.我讨厌 CGRect(x:y:width:height:).我已经提交了一个错误.我认为初始化器应该是CGRect(_:_:_:_:),就像CGRectMake.我已经在CGRect上定义了一个扩展程序来提供它,并在我启动的瞬间将该扩展插入到每个项目中.
extension CGRect {
init(_ x:CGFloat, _ y:CGFloat, _ w:CGFloat, _ h:CGFloat) {
self.init(x:x, y:y, width:w, height:h)
}
}
Run Code Online (Sandbox Code Playgroud)
这样,我所要做的就是到处改变"CGRectMake"到"CGRect",我就完成了.
Wye*_*tro 18
Apple确实提供此功能.你所要做的就是去:
编辑 > 转换 > 到最新的Swift语法...
然后按照屏幕上的提示操作.
这将解决您的语法问题,您不必为所有各种删除的函数创建新函数.
| 归档时间: |
|
| 查看次数: |
77441 次 |
| 最近记录: |