答案 0 :(得分:2)
以下声明看起来更具可读性:
func makeRoundedRectangleMaker(_ sz:CGSize) -> ((CGFloat) -> UIImage?) {
return nil
}
此函数将CGSize
作为参数方法,并返回一个闭包,该闭包也可以是该类型的任何函数。
在at this link,您可以阅读更多相关信息。
此外,您可以为闭包创建typealias
,因此该函数可能如下所示:
typealias CustomNameOfClosure = (CGFloat) -> (UIImage?)
func makeRoundedRectangleMaker(_ sz:CGSize) -> CustomNameOfClouse {
return nil
}
希望它可以帮助你:)
答案 1 :(得分:0)
这里你的函数Return(CGFloat) - >的UIImage。
表示你的func makeRoundedRectangleMaker(_ sz:CGSize)返回函数,它有CGFloat数据类型参数并返回UIImage数据类型值
代表
func makeRoundedRectangleMaker(_ sz:CGSize) -> ((CGFloat) -> UIImage?) {
return sampleFunc(sz)
}
func sampleFunc(_ input: CGSize) -> Int {
return UIImage
}
答案 2 :(得分:0)
看一段代码,这个函数的实现应该是这样的
func makeRoundedRectangleMaker(_ sz:CGSize) -> (CGFloat) -> UIImage {
var tempClosure = {(float:CGFloat) -> UIImage in
UIGraphicsBeginImageContext(sz)
let context = UIGraphicsGetCurrentContext()
context?.setFillColor(UIColor(colorLiteralRed: 0, green: 0, blue: 0, alpha: Float(float)).cgColor)
context?.fill(CGRect(x: 0, y: 0, width: sz.width, height: sz.height))
let img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return img ?? UIImage()
}
return tempClosure
}
'(_ sz:CGSize)'这是函数的参数,'(CGFloat) - > UIImage的'这是功能的回归,你可以想到'(CGFloat) - > UIImage的'是一个功能,也可以被认为是'(CGFloat) - > UIImage的'是一个闭包,闭包= = swift中的函数