困难转换为Swift 3
从Swift 2转换到Swift 3(甚至在将edit-> convert – >转换为当前的swift语法之后),我得到了很多错误。 特别:
我显示了我的项目总共90个错误,在Swift 2中工作正常,然后我下载了这个beta Xcode 8.0并转换成了Swift 3
这是我正在犯的转换错误吗?
他们大多是简单的修复,只需轻点红色button,让Xcode为您解决它! 其他包括:
的CGRect
Swift 2:
let frame = CGRectMake(0, 0, 20, 20)
Swift 3:
let frame = CGRect(x: 0, y: 0, width: 20, height: 20)
CGPoint
Swift 2:
let point = CGPointMake(0, 0)
Swift 3:
let point = CGPoint(x: 0, y: 0)
CGSize
Swift 2:
let size = CGSizeMake(20, 20)
Swift 3:
let size = CGSize(width: 20, height: 20)
CGRectGetMidX
Swift 2:
CGRectGetMidX(view)
Swift 3:
view.midX
CGRectGetMidY
Swift 2:
CGRectGetMidY(view)
Swift 3:
view.midY
的UIColor
Swift 2:
let color = UIColor.redColor()
Swift 3:
let color = UIColor.red
“NS”
Swift 2:
NSTimer NSData NSError
Swift 3:
Timer Data Error
UserDefaults
Swift 2:
NSUserDefaults.standardUserDefaults().//something
Swift 3:
UserDefaults.standard.//something
并且始终记住使用有用的“Fix all in Scope”function,可以在Editor-> Fix all in Scope中find这个function
我正在转换一个项目,Xcode没有帮助我的任何修复,所以我诉诸几个正则expression式search和replace:
CGPointMake\((.*),[ ]*([^\)]+)\) CGPoint(x:$1, y:$2) CGSizeMake\((.*),[ ]*([^\)]+)\) CGSize(width:$1, height:$2)
注意他们不知道嵌套的括号,但可能对90%的案例足够好。
- xcode 8推送通知function和授权文件设置
- 什么是XCode 8中的“性格变化”?
- Xcode 8显示configuration文件不包含签名证书的错误
- 警告:顶点着色器'v_gradient'的输出没有被片段着色器读取
- ios10:viewDidLoad框架宽度/高度未正确初始化
- 由于Xcode 8和iOS10,视图在viewDidLayoutSubviews上的大小不正确
- CGRectMake,CGPointMake,CGSizeMake,CGRectZero,CGPointZero在Swift中不可用
- 推送通知问题与iOS 10
- 在iOS 10模拟器中,SecItemAdd总是返回Xcode 8中的错误-34018