在Swift中访问类函数内的函数

时间:2016-02-03 20:03:52

标签: ios swift

我如何调用黑暗并将参数放入其中?

class imageProcesses {
   class func DefaultProcesses() {
       func CompleteDarkness(image: UIImage) -> UIImage {
           let dark = Darken(124, image: image)
           return dark
       }
   }
}

我试过这个:

ImageProcessor.DefaultProcesses().CompleteDarkness(image!)

但它不起作用

3 个答案:

答案 0 :(得分:0)

您无法从外部调用嵌套函数。将其移到类函数:

class imageProcesses {
   class func CompleteDarkness(image: UIImage) -> UIImage {
       let dark = Darken(124, image: image)
       return dark
    }

   class func DefaultProcesses() {
       // ...
   }
}

答案 1 :(得分:0)

为什么要在函数内部声明一个函数?

class imageProcesses {
   class func DefaultProcesses(image: UIImage) {
         completeDarkness(image: image)//calls completeDarkness.
   }

   func CompleteDarkness(image: UIImage) -> UIImage {
       let dark = Darken(124, image: image)
       return dark
   }
}

稍后致电

ImageProcessor.DefaultProcesses(image: image!)//Now calling DefaultProcesses will run Complete Darkness and anything else you put in there.

答案 2 :(得分:0)

认为这就是你想要的,你可以把它放在比赛场地并随身携带

func Darken(input:Int, image:UIImage) -> UIImage{
  return UIImage()
}

class ImageProcesses {
  class func DefaultProcesses() -> ((UIImage) -> UIImage){
    func CompleteDarkness(image: UIImage) -> UIImage {
      let dark = Darken(124, image: image)
      return dark
    }
    return CompleteDarkness
  }
}
let image = UIImage()

ImageProcesses.DefaultProcesses()(image)
相关问题