Swiftのクロージャが説明からして難しすぎる件について
The Swift Programming Language
や他の解説サイトでクロージャの説明を読んでみたのだが、文法からしてわからん。
試行錯誤しつつ実際に使って見ると、引数付きの場合のstrnums -> [Int] in
がちょっと特殊だった。
てか例文をなんでもっと簡潔に書いてくれないんだろう。
func test() { // これがクロージャ let moge: ([String]) -> ([Int]) = { strnums -> [Int] in var nums: [Int] = [] for str: String in strnums { nums.append(Int(str)!) } return nums } // クロージャを使ってみる let bar = moge(["5", "4", "3"]) // 結果を確認 for number: Int in bar { print("\(number)") // => 5, 4, 3 } }
むしろ関数がクロージャの1種って言われてもなあ。
Swift
の他の機能もそうだけど、iOSアプリを作る中でむしろそれをどう使うのかがいまいちわからん。