2017-10-10 60 views
0

如何在使用“_”的swift中为函数添加和使用第二个参数?例如,在本功能:将第二个参数添加到函数

func save(completion: (_ finished: Bool) ->()) { 

当我使用它是这样的:

self.save { (complete) in 
     if complete { 
      dismiss(animated: true, completion: nil) 
     } 
    } 

但我想添加另一种说法,一个的UIColor。每次我这样做,我都会得到错误,因为我没有正确使用参数。如何在我的func中添加UIColor?我做了这样的

func save(color: UIColor,completion: (_ finished: Bool) ->()) { 

,当我用:

self.save(color: green, { (complete) in 
    if complete { 
     dismiss(animated: true, completion: nil) 
    }) 
} 

,但我得到了布尔类型的错误

回答

2

你必须写

self.save(color: green) { complete in // the parentheses are not needed 
    if complete { 
     dismiss(animated: true, completion: nil) 
    } 
} 
+0

这工作!非常感谢! – newbiejava1998

0

当你在完成时调用一个函数,调用函数时不会有错误的最简单的方法,当你点击时单击输入e在论据的“蓝色方块”上。它会编辑所有的功能,因为它应该看起来像。