下記のコード(はSwitです)はとある関数ですが、リターンで関数を実行して、関数の引数にはクロージャが実装されています。
swift
1 2func createMovieFrom(image: UIImage, duration:Int) -> URL{ 3 var images = [UIImage]() 4 var index = duration 5 while(index > 0){ 6 images.append(image) 7 index -= 1 8 } 9 return self.createMovieFromSource(images: images, extractor: {(inputObject:AnyObject) -> UIImage? in 10 return inputObject as? UIImage}) 11 } 12
そもそも、関数の実行の結果、リターンで関数を返すってどういうことなのでしょうか。また、その関数の引数にクロージャを持ってくるメリットは何でしょうか。そもそも、関数の実行の結果、リターンで関数を返すメリットもわからず、コードを書いた人の気持ちがわかりません。野暮ったい質問ですみませんが、クロージャをソース内で多用する利便性を詳しく教えて欲しいです。
クロージャ
swift
1 2//クロージャ 3var block = {(a: String) -> String in 4 return a 5} 6print(block("a")) // => a 7
関数
swift
1 2//関数 3func block2() { 4 print("a") 5} 6block2() // => a 7
回答3件
あなたの回答
tips
プレビュー