@escapingなるものを知った
func presentAlert(title: String, message: String, completion: @escaping (_ action: UIAlertAction?) -> Void = { alert -> () in }) { let alert: UIAlertController = UIAlertController(title: title, message: message, preferredStyle: .alert) let action: UIAlertAction = UIAlertAction( title: "OK", style: .cancel, handler: completion ) alert.addAction(action) self.view?.presentAlert(alert: alert) }
こんな関数を作ったところ、
Passing non-escaping parameter completion to function expecting an @escaping closure
と怒られた。
ここで初めて@escapingという存在を知りました。
引数で渡した時に、渡された関数内で使わず、クロージャを保持する場合は、@escapingをつけなければならないそうです。
今回はpresentAlert関数を持ってるクラスの他の関数で呼んでいて、クロージャの中ではselfを使わないから循環参照は大丈夫。
でも、@escapingとか付くと、よろしくない書き方なのかな((((;゚Д゚)))))))と戦々恐々とする。
レビューしてもらう時に質問しておこう…。
追記: githubで@escapingを調べてみたけど(‘@escaping'とかescapingとかで)、あまり引っ掛からなかった。
やっぱりあまり使わない、というかライブラリとかの時に使うとかの代物なのかなぁ。
(´-`).。oO(今気づいた…これprivateにすべき関数だ…)
参照: すごくわかりやすくて助かりましたmm
Swift 3 の @escaping とは何か - Qiita
決心してから早13日...
というのを13日前に書いた訳ですよ!
1日すら続いてない!
そもそもなぜやろうと思ったのかというと、色々あるんですが、
決定打は@shu223のスライドに出会ったからなんですよね。
http://www.slideshare.net/t26v0748/tech-crunchhackathon-20131111expanded
なにはともあれ、業務中に調べたこととか程度のものをまずはザクザク上げていこう...
エンジニアとしての夢を持とう
4月にベンチャー企業に転職して以来、エンジニアとしてどうありたいか?という事をよく考える様になりました。
もちろん成したいことがあって理念に共感したから入りましたけど、技術的な面とか、エンジニアとしての将来に関してはほぼ考えていなかったからです。
気づいた時から始めれば良いことだと思うので、これから自分の強みを開拓&開発していくべく、第一段階としてブログを書こうと思います。
著名な方々もアウトプット大事と再三仰ってますからね😄