2017-04-13 47 views
-3

我使用的是Swift 1.1,我刚刚升级到Swift 3.1,下面的扩展不再有效。我收到了下面标注的编译器错误。有没有简单的方法来解决我的语法?我尝试使用xcode的内置功能转换代码,但似乎只适用于类,而不是此扩展。如何让我的函数定义在Swift 3.1中工作,如果他们在Swift 1.1中工作的话?

import Foundation 
import UIKit 


extension UIView { 
/** 
Set x Position 

:param: x CGFloat 
by DaRk-_-D0G 
*/ 
func setX(#x:CGFloat) { //Expected parameter name followed by ':' 
    var frame:CGRect = self.frame 
    frame.origin.x = x //Use of unresolved identifier 'x' 
    self.frame = frame 
} 
/** 
Set y Position 

:param: y CGFloat 
by DaRk-_-D0G 
*/ 
func setY(#y:CGFloat) { //Expected ',' separator 
    var frame:CGRect = self.frame 
    frame.origin.y = y //Use of unresolved identifier 'y' 
    self.frame = frame 
} 
/** 
Set Width 

:param: width CGFloat 
by DaRk-_-D0G 
*/ 
func setWidth(#width:CGFloat) { //Expected ',' separator 
    var frame:CGRect = self.frame 
    frame.size.width = width //Use of unresolved identifier 'width' 
    self.frame = frame 
} 
/** 
Set Height 

:param: height CGFloat 
by DaRk-_-D0G 
*/ 
func setHeight(#height:CGFloat) { //Expected ',' separator 
    var frame:CGRect = self.frame 
    frame.size.height = height //Use of unresolved identifier 'width' 
    self.frame = frame 
} 
} 

回答

1

对于swift这样的现代化语言,它每天都在改进,并不稳定,但这种变化很常见。在这个演化过程中,很多东西都会被添加和删除。同样的事情发生在马克。它最初在那里。但现在它被删除。删除#和一切将按预期工作。

+0

谢谢你,工作! – shampouya