0

据我了解,我们可以使用函数

func saveImage(imageType:imageType, thumb: UIImage, completion: CompletionHandler)

像这样:

imageSaver.saveImage(someType, thumb:image) { in
...
}

但实际上从Objective-C开始,我认为该块是一个参数,也许我应该像这样使用它:

imageSaver.saveImage(someType, thumb:image, { in
...
})

作为 Objective-C 编码器,还有一个对我来说很有趣的东西,它将参数传递给一个函数:

所以如果我想像这样向 savaImage 函数添加一些参数:

func saveImage(someInt:UInt, imageType:imageType, thumb: UIImage, completion: CompletionHandler)

那么我应该用指定的imageType名字来调用它。

imageSaver.saveImage(10, imageType:someType, thumb:image) { in
...
}

我猜在 Swift 中我们有类似跳过函数定义的东西

目标-C 示例:

- (void)saveImage:(UIImage *)image withParams:(NSDictionary *)params

所以withParams有时可以在功能开始时跳过,正如我理解的那样,这对我来说不是很明显)

4

1 回答 1

2

是的,这是区分闭包和函数的目的的一部分。它并没有真正定义函数之外的块,而是一些语法糖来提高可读性。

我建议通读这个:关闭文档

于 2016-04-18T16:20:24.813 回答