Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Swift ハジメマシタ

金曜日の夜、帰宅したら詳解 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とか若い言語なので、これから!これから!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What are the problem?