@kyanny's blog

My thoughts, my life. Views/opinions are my own.

iOS Swift の勉強 (2)

iBooks で読める英語のマニュアルっぽい本(短いほう)を少し読んだがさっぱり意味がわからないので「絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】」という本の Kindle 版を買って読み進めている。

冒頭の「知識は必要になったときに学ばないと身につかない」という考え方には大いに同意する。「だから最初に座学でいろいろ教えても身につかないので、まずわかってなくていいからとにかく手を動かしてやってみて、それから詳しい説明で理屈を学ぶ」というアプローチはすごくいいと思う。なのに最初のほうの章で Map アプリを作ってみて以後は Swift の文法の説明がずっと続いていて話が違うじゃないかさっさと iPhone アプリを作らせろ、という気持ちになってきている。

あとこの本には全く落ち度がないのだが、配列の要素の数字を足し合わせるという演習問題をやってちょっと寄り道して reduce とかあるのかな?と思い試してみたら、 reduce あるのだが関数のシグネチャ?の読み方がわからなくて調べても combine: ってなんだよとかそういう部分の説明がないままに Xcode の補完でいきなり登場して、「意味不明だし検索でも正解にたどり着けない疑問」に遭遇してしまって、寄り道のせいで挫折しそう。

f:id:a666666:20150514025550p:plain

フォーカスがあたってハイライトされてる initial: U の部分はどうやら initial: は実際のコードを書く際には不要で 0 とか数字のみで ok なのに、その後ろの combine: は無いとダメっぽいのは何故??とか(しかもぐぐってでてくるブログとか Qiita とかの記事では combine: 無しのサンプルコードのほうが多いのだが combine: の有無がどう違うのかも、どこにリファレンスドキュメントがあるのか探せず調べられない)、その後ろの薄くハイライトされている (U, T) -> U の部分は実際にはどういうコードで穴埋めするのが正解なのか(カッコや -> は必要なのか、とか)ぐぐってもこれだ!という例を探し当てられなくてストレスがたまる。

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】