金曜日の夜、帰宅したら詳解 Swiftが届いてた!この著者にはObjective-C本でもお世話になりました。
家族とMacとネット環境さえあれば、どこでも生きていける@neirazaです。
今年の10月からサイバーエージェントのアドテク本部AdTech NativeUnitてとこで、iOSおよびAndroid向けのSDKをつくってます。
自分のアプリをSwiftで書きなおしてみよう
自分のiOSアプリ ココ天気をObjective-CとSwiftの混在で書けば、滞っていた更新作業も捗り、Advent Calendarのネタも書けて一石二鳥じゃん!っておもったわけです。
開発時に見たリンクなど
Obj-CとSwiftを両方みれる所が便利なような気がする
iOS Developer Library
Swiftって、どうやって書くのかなーとか分からない時に読みながら書いてた
The Swift Programming Language
一箇所だけハマったのでコレつかっちゃいました
stackoverflow
全然関係ないけど、stackoverflow JP private betaって、みんなやってます?
SwiftとObjective-Cの連携
最初の挿絵がカッコ悪いけど、読まないと始まらない!
Swift and Objective-C in the Same Project
そして、Objective-CからSwiftを呼び出そうとして激ハマりへ
The name of this header is your product module name followed by adding "-Swift.h".
前述した公式ドキュメントに記載があったので、
呼び出し元であるObjective-C側にimport文を書いても怒られる。
なんでだよ。。。
つうか僕のアプリのmodule nameって underscore じゃなくて hyphen が入ってるな。
そういやJavaでpackage nameに使うdomainにhyphenが入ってると怒られるから、underscoreで置き換えたりしたっけかと思い、探してたらこんなの見つけた。
Swift to Objective-C header not created in Xcode 6、こいつによると hyphen がダメぽみたい。
なので、これで解決した。
AFNetworkingを使い続ける?、それともAlamofireを使い始める?
既存、AFNetworkingを使っている場合、あえて変更する必要がなさそうに思えるのですが、どうなのかな。
僕は今回はAFNetworkingのままにしました。
ちなみに下記は僕が使用している主なライブラリです。
他のライブラリとか、どんな状況になっているんだろ・・・。
みなさん、どうしてるか教えてくださーい!
CocoaPodsを使うしかない?
Carthageとか他のツールを使うのもありなんですが、ライブラリ管理ツールは安定したやつを使いたいなって、つい思ってしまいます。
でもやっぱり、Swift用のやつを使いたいので、他にもこんなのを使ってるよ!とかあれば教えてください!
Swiftでアプリの一部を書き直した感想
Objective-Cを理解していれば、Optionalの所とライブラリ管理(ライブラリの選択含む)以外は書いて実行するだけなら、特に苦になるところはなかったです。
ただし、まだまだSwift用のライブラリが豊富なわけではなく、既存の資産を使っていくわけだし、IDEが強くサポートしてくれないと厳しい所もある感じ。
とはいえ、まだまだv1.1とか若い言語なので、これから!これから!