なるべくなら、もうObjective-Cは書きたくありません。
Swift登場時は、「もう余計なことすんなよ!また手間がふえるじゃねぇか!また覚え直しかよ!ぜってぇ移行なんてしねぇからな!」
と愚痴っていましたが、Swiftに慣れてしまってからは、「Objective-Cェ・・・。」と気持ちが変わりました。
では、なぜSwiftを使うようになったのか。
それは、Appleが近い将来、「はい!今日からObjective-C禁止ね!だってSwiftの方が便利じゃん!じゃよろしく!乙!」といいそうな気がしてならないからです。
だって、あのAppleです。これまで何度も過去の遺物をなんのためらいもなく切り捨ててきた歴史があるだけに、これが絶対起きないとは限らないわけで。
というわけで、Swiftの移行を決意。
それから色々、公式ドキュメントとか、解説本を読んでみたりしてみました。
しかし、どれも身に入らず・・・。
結局、一番効率的だったのは写経でした。
すなわち「自分で書いたObjective-CのコードをググりながらSwiftに書き直す。」ということです。
”自分で書いたコード”というのが、かなり重要で、自分で書いて、自分で試行錯誤して、自分で動作確認しているコードだからこそ身につくと思います。だって1行1行「ああなるほど!Swiftではこうなるのか!」と思えるわけですから。
他人の書いたObjective-CコードをSwiftに変換してみたところで、「ああなるほど!」とはなりにくいでしょう。
Swiftが出たての頃は、これからiPhone開発を始める人は楽でいいなぁと思いましたが、写経してみてからは、むしろObjective-Cを知っている人の方がSwiftに慣れるのは早いんじゃないかと。だって、Swiftといっても、UIKitは、Objective-Cと関数名はそれほど変わりませんしね。文法も慣れればそれほど大きく違いは感じませんし。
ただ時間はかかります。
写経だから、ものの3日ほどで終わるかなと思ってたものが、結局10日間ほどかかりましたから。(レコミルというアプリの例)
とはいえ、変換作業をやって思ったことは、「やる前に想像したほど大変なことはない。」ということです。
SwiftはObjective-Cに比べて利点がもの凄くあります。
その最たるものとしては、見やすい書きやすいということです。だって、ifやforの条件の()は要らないし、セミコロンも書く必要ないし、.hもいらないし、他のクラスを使う時に、宣言する必要もないですからね。(あと.hがないから関数へのジャンプがもの凄く楽になります。)
Swiftについて色々思うところはあると思いますが、Swift移行に強い興味があるかたはぜひお試しあれ。
自分で書いた1つのファイルを変換してみるだけでも、大分Swiftに感じる敷居は下がると思いますよ。
あ、宣伝。Swiftで1から書き直した、iPhoneブログエディタ「SLPRO X」をどうぞよろしくお願いします。(ぇ