iOS
Swift
SwiftDay 13

Swift ハジメマシタ

More than 3 years have passed since last update.

金曜日の夜、帰宅したら詳解 Swiftが届いてた!この著者にはObjective-C本でもお世話になりました。

詳解 Swift

家族とMacとネット環境さえあれば、どこでも生きていける@neirazaです。

今年の10月からサイバーエージェントのアドテク本部AdTech NativeUnitてとこで、iOSおよびAndroid向けのSDKをつくってます。


自分のアプリをSwiftで書きなおしてみよう

自分のiOSアプリ ココ天気をObjective-CとSwiftの混在で書けば、滞っていた更新作業も捗り、Advent Calendarのネタも書けて一石二鳥じゃん!っておもったわけです。

icon-40@2x.png


開発時に見たリンクなど

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 がダメぽみたい。

なので、これで解決した。

スクリーンショット 2014-11-29 22.54.28.png


AFNetworkingを使い続ける?、それともAlamofireを使い始める?

既存、AFNetworkingを使っている場合、あえて変更する必要がなさそうに思えるのですが、どうなのかな。

僕は今回はAFNetworkingのままにしました。

ちなみに下記は僕が使用している主なライブラリです。

他のライブラリとか、どんな状況になっているんだろ・・・。

みなさん、どうしてるか教えてくださーい!


CocoaPodsを使うしかない?

Carthageとか他のツールを使うのもありなんですが、ライブラリ管理ツールは安定したやつを使いたいなって、つい思ってしまいます。

でもやっぱり、Swift用のやつを使いたいので、他にもこんなのを使ってるよ!とかあれば教えてください!


Swiftでアプリの一部を書き直した感想

Objective-Cを理解していれば、Optionalの所とライブラリ管理(ライブラリの選択含む)以外は書いて実行するだけなら、特に苦になるところはなかったです。

ただし、まだまだSwift用のライブラリが豊富なわけではなく、既存の資産を使っていくわけだし、IDEが強くサポートしてくれないと厳しい所もある感じ。

とはいえ、まだまだv1.1とか若い言語なので、これから!これから!