实现Swift功能,完成块在参数集之外



据我所知,我们可以使用函数

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

像这样:

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

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

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

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

所以如果我想给保存图像函数添加一些参数,比如

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

那么我应该通过指定CCD_ 1名称来调用它。

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

我想在Swift中,我们会跳过函数的定义

Objective-C示例:

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

所以withParams有时可以在函数开始时跳过,正如我所理解的,这对我来说并不明显)

是的,这是闭包和函数之间区别的部分目的。它并不是真正在函数之外定义一个块,而是为了提高可读性而添加一些语法糖。

我建议阅读以下内容:关闭文档

最新更新