読者です 読者をやめる 読者になる 読者になる

mike-neckのブログ

JavaかJavaFXかJavaEE(なんかJava8が多め)

AppCodeでSwift書いてみたメモ

swift

こんにちわ、みけです。

とりあえず、日曜プログラマーとして、

AppCodeでSwiftのコードを書いてみることにしました。

その時の感想というか、メモというか、なんというか…

MAC OS X10.9上で動くコンソールアプリケーション

Swiftほとんど触ったことがないので、

とりあえず、コンソールアプリケーションでいいかなと思って、

コンソールアプリケーションを作成して、

書いてみたところ…

Information:Building target 'SwiftLearning' from 'SwiftLearning' with configuration 'Debug' for architecture 'x86_64' using 'OS X 10.9' sdk
Error:Build failed in 1 sec
Note:OS X targets using Swift cannot be built against an SDK older than 10.10, but the effective SDK is 10.9.

と出てきました。(Xcode6です)

「?」と思ってググっていると、Xcode6のリリースノートにこんなことが書いてありました。

Swift Support for OS X

というわけで、2014年9月14日現在、Mac OS X10.9上でSwiftを動かすには

Xcode6.1のβのものを使う必要があるようです。

AppCodeの設定

次にAppCodeでXcode-Betaを使うにはどうすればよいのかわからなかったので、

これまた「appcode how to change xcode beta」でググってみたところ、

JetBrainsのFAQにヒットしました。

how to switch appcode to use xcode 6 beta?

「⌘」 + 「, 」でいけるよということで、

Preference > Xcodeを開いてから右の「…」をクリック

f:id:mike_neck:20140914103725p:plain

Xcode-Betaを選択して

f:id:mike_neck:20140914103813p:plain

「OK」ボタンを押せばXcodeβを使えるようになります。

f:id:mike_neck:20140914103929p:plain

はじめてのSwiftプロジェクト in AppCode

AppCodeでSwiftのプロジェクトを作るのは難しくないです。

メインの画面で「New Project」をクリック

f:id:mike_neck:20140914104228p:plain

今回はコンソールアプリなので「Command Line Tool」を選択して「Next」

f:id:mike_neck:20140914104334p:plain

プロダクトの名前を入力して、Languageを「Swift」を選択して「Finish」

f:id:mike_neck:20140914104526p:plain

あとは、保存するディレクトリーを選択すれば、main.swiftだけのプロジェクトが出来上がります。

AppCodeのSwiftのサポート状況

2014年9月14日現在のAppCodeの最新版は3.0.5ですが、

Swiftのサポート状況は、コードハイライティングだけです。

JetBrainsのブログにもそう書いてありますね…

さて、AppCodeでSwift書くかと思ってから、書き上げたコードが、下のような感じなのですが、

この程度のコードに辿り着くまでに1時間ほどかかりました(´・ω・`)

import Foundation

class HttpStatus:Printable {
    let code:Int
    let message:String
    init(code:Int, message:String) {
        self.code = code
        self.message = message
    }
    func isSucceeded() -> Bool {
        return 200 <= code && code < 300
    }
    var description: String {
        return "HttpStatus(code: \(code), message: \(message))"
    }
}

JetBrains製のIDEならではの、

  • かゆいところに手が届くコード補完
  • 気の利いたリファクタリング
  • よしなにやってくれる自動import

このあたりが利用できないのはちょっとつらい感じです。

今後のAppCodeに期待するとして、今はXcode使ったほうがいいかも(Xcode使ってないのでわからない)。

以上