Facebook Twitter Google Maps RSS
Home iPadアプリ Swiftについて
formats

Swiftについて

こんにちは。陽気なシステム屋のはらだです。

今回はSwiftについて簡単に紹介します。

今年の6月に開催されましたWWDCの基調講演で衝撃を受けました。
iOS / Mac OS Xアプリの新しい言語として「Swift」が発表されたからです。

やっと、Objective-Cがわかってきたのに、またはじめから・・・
と思っていたのですが、よく調べてみますとObjective-Cをベースにしており、また、Framework自体は変わっていないので、今まで覚えてきたことはそのまま使えることがわかりました。

Objective-Cをベースにしているとはいえ、その書き方はがらっと変わっていて、JavaやC#などの言語に似た感じになっています。

・ヘッダーファイルが不要
Objective-Cではヘッダーファイル(.h)とソースファイル(.m/.mm)がセットになっていましたが、Swiftではソーソファイル(.swift)のみとなっています。
そのため、プロパティやメソッドなどの公開/非公開はアクセス修飾子(public/internal/private)を記述して決めます。

・変数の宣言
Objective-Cでは「型 変数名」のように宣言していたものが「var 変数名」のように宣言するようになった。
また、型(クラス)を記述する必要はなく、初期化した内容で変数の型が決まる。
例えば 「var value = 3」のように記述した場合、変数「value」は初期化の値「3」から推測され、Intとなる。
型を指定する場合は「var value: Int = 3」のように変数名の後に記述します。

・文の終わり
Objective-Cでは文の終わりに「;」を必ず記述しなければなりませんでしたが、Swiftでは必須ではなくなりました。
ですので、以下のような記述ができます。

var value1 = 3
var value2 = 4;

・Switch文
Objective-Cではswitch文で比較できるものは数値のみでしたが、Swiftでは文字列も比較できるようになりました。
以下のような使い方ができます。

var inputValue: String = "Fluit";
var outputValue = -1;
switch(inputValue) {
    case “Apple":
        outputValue = 1;
    case “Orange":
        outputValue = 2;
    default:
        outputValue = 0;
}

・for文
Objective-Cでは以下のような書き方しかできませんでした。

for (int i = 0; i < 3; i++) {
    // ...
}
for (NSDictionary *data in array) {
    // ...
}


Swiftではこれに加えて以下のような書き方もできます。

for i in 0..<3 {
    // これは for (int i = 0; i < 3; i++) と同じ
}
for i in 0...3 {
    // これは for (int i = 0; i <= 3; i++) と同じ
}

・nilの意味
Objective-Cでは対象のオブジェクトがnilといえば「オブジェクトが存在していない」という意味でしたが、Swiftの場合は「値を持っていない」という意味に変わりました。
Objective-Cでは「if ([value isEqualToString:@"none"]) 」のvalueがnilであっても特にエラーにはならなかったのですが、Swiftではエラーになってしまいます。

ほかにも、変数名にマルチバイト文字が使えたり、enumの中に関数を記述できたりなどができるようになっています。
ただ、まだ、ベータ版という位置づけのため正式発表までに今回紹介した内容が変わる可能性があります。
(Xcode6 beta4 で作っていたものが、beta5でエラーになったのにはびっくりしました。)
個人的にはObjective-Cより使いやすいと思っていますので、これからSwiftを勉強していきたいと思っています。

参考文献:
・Apple Inc. “The Swift Programming Language”。 iBooks. https://itun.es/jp/jEUH0.l
・Apple Inc. “Using Swift with Cocoa and Objective-C”。 iBooks. https://itun.es/jp/1u3-0.l

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">