「Swift」と「Xcode 6」を少しずつさわっていこうと思ってはいるのですが、「Xcode 6 beta」をインストールしただけです。
「Unity/cocos2d-x開発メモ〜ブリブサーゲーム制作劇場〜 」サイト様
の「Xcode 6 Beta Playgroundをちょっとずついじりはじめる 」を見せていただいて、自分も進めて行かねば!!、と思い本エントリーを作成しています。
Xcode関連のスクリーンショットはNDA関係の都合上掲載できませんが、「Swift」の使い方は問題なさそうなので、
文字ベースになるとは思いますが、ご容赦ください。
「The Swift Programming Language」の「Swift Programming Series 第1巻」 を見ながら進めてこうと考えております。
前置きが長くなりましたが、本エントリーの内容は以下のとおりですが、
1回で終わる気は当然ありません、継続してエントリーを作成していきます。
- 「Swift」を検証するためのプロジェクトと「Playground」の作成
- 公式リファレンスのチュートリアルのSteps2の前半を軽く説明
1 「Swift」を検証するための準備
プロジェクトと「Playground」の作成
「Swift」を検証するために、プロジェクト(テンプレートは何でも良いです)を作成し、Xcode6の[File]>[New]>[File]をクリックし、「Choose a template for your new file」ウィンドウでPlaygroundを選択します。
「Get started with playground」で「Playground」を作成
「Xcode6」が起動した時の画面の「Get started with playground」を選択し、「Save As」でplayground名と
Whereで作成場所を指定しても「Playground」が検証できる環境が作成できます。
私は、後者の方で「playground」を名前:MyPlaygroundSample1で作成したのですが、作成場所にMyPlaygroundSample1.playgroundだけが作成されました。
2 公式リファレンスのチュートリアルのSteps2の前半を軽く説明
公式リファレンスのチュートリアルの前に作成された「Playground」を確認しておきます。
作成された「Playground」は以下のようになりました。
1 2 3 4 5 |
// Playground - noun: a place where people can play import Cocoa var str = "Hello, playground" |
公式リファレンスのチュートリアルのSteps2の画面と同じ構成の画面が表示されていますが、
「Playground」に記載しているコードが異なるので、当然表示内容は異なっています。
右ペインには”Hello, playground”だけが表示されています。
triple(3)まで入力してみる
まずはチュートリアルと同じようにtriple(3)まで入力してみました。
7 8 9 10 11 12 13 |
let triple: Int -> Int = { (number: Int) in let result = 3 * number number return result } triple(3) |
それにしてもSwiftってCoffeeScriptとJavaScriptを足して2で割った感じですよね。
対応する右ペインの出力内容は以下のようになりました。7行目が違いますね、それ以外はチュートリアルと同じです。
7 8 9 10 11 12 13 |
(Function) 9 3 9 9 |
・コードの7行目
triple関数の宣言をしています。引数がInt、戻り値がIntです。
チュートリアルでは
・コードの8行目
さらっと入力して終わらすつもりだったのですが、(number: Int) inが気になってしょうがなくなってしまい
「Swift Programming Series 第1巻」で調べてみたところ、ありました。
716ページからの「Closure Expression」ですね
tripleの第一引数をInt型のnumberにセットする処理だそうです。
残りの処理は簡単ですね・・・、ってあかんこれじゃチュートリアルのSteps2だけで終わる・・・
しょうがないので方向転換、してその1は「公式リファレンスのチュートリアルを軽く説明する。」に変更します。
・コードの9行目
let resultで定数のresultを宣言しています。resultの型は3 * numberから導出されIntとなります。
「Swift Programming Series 第1巻」の6ページに定数と変数の宣言方法は記載されています。
・コードの10行目
numberにどんな値が入っているかを確認するためにだけに存在しています。
・コードの11行目
resultをリターンしています。
・コードの13行目
tripleの第一引数に3を渡して呼び出しています。
1つめのForの終わりまで入力してみる
引き続きチュートリアルの1つめのForの終わりまで入力してみました。
15 16 17 18 19 |
let listOfNumbers = 1..5 var sum = 0 for n in listOfNumbers { sum += n } |
対応する右ペインの出力内容は以下のようになりました。今度はチュートリアルと同じです。
for文の閉じる括弧で、そのFor文が何回回るかを出力しているのは面白いアイデアですね。
15 16 17 18 19 |
{_startIndex 1, _endIndex 5} 0 (4 times) |
・コードの15行目
定数配列のlistOfNumbersを定義、値は[1,2,3,4]となります。
あれ!、間違ってるよ!!、[1,2,3,4,5]だろ!!!、とツッコミが入ったと思います。
これは、
1..5の場合は1以上、5より小さい連続する数値の配列を現し
1…5の場合は1以上、5以下の連続する数値の配列を現しすとの仕様となっているからです。
この説明も「Swift Programming Series 第1巻」の15ページに記載があります。
“Use .. to make a range that omits its upper value, and use … to make a range that includes both values.
”
抜粋:: Apple Inc. “The Swift Programming Language”。 iBooks. https://itun.es/jp/jEUH0.l
・コードの16行目
listOfNumbersの配列の中身を順次、変数のnに代入して、for文が回ります。
・コードの17行目
sumにnを足します。1回目のループではsum += 1、1回目のループではsum += 2との処理が実行されます。
終わりまで入力してみる
入力してみました。
22 23 24 25 26 |
var j = 2 for var i = 0; i < 5; i++ { j * i } |
対応する右ペインの出力内容は以下のようになりました。今度もチュートリアルと同じです。
22 23 24 25 26 |
2 (4 times) |
・コードの22行目
変数jをInt型で値:2で宣言しています。
それ以外は特に他の言語と変わらないので、見るべきところはありません。
「Swift入門[公式リファレンスのチュートリアルのSteps2の前半]」は以上です。
Swiftの概要を説明したエントリーを作成いたしましたので
こちらも是非ご覧ください。
Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第一回「Swiftの概要」
Googleアドセンス
Googleアドセンス
関連記事
-
-
iOS(Xcode6とSwift)におけるマルチスレッド(非同期)処理の実装方法その2[GCD(Grand Central Dispatch)の利用]
「iOS(Xcode6とSwift)におけるマルチスレッド処理の実装方法その1」ではNSThread
-
-
Xcode6-Beta3でSwiftでBDDを行うためにQuickを導入し動作させる手順
Clone the repository Create a using Quick Pro
-
-
iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]
iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回は同じ著者(大重美幸様)の本を
-
-
iOS(Xcode6とSwift)におけるマルチスレッド処理の実装方法その1[NSThreadクラスの簡単な利用例]
前回はObjective-CにおけるNSThreadクラスの簡単な利用例を取り扱いましたが今回は、ほ
-
-
Xcode6-Beta2でSwiftのユニットテスト(Unit Test)をXCTestフレームワークで試してみる。
タイトルの通りですが、Xcode6-Beta2でSwiftのユニットテスト(XCTestフレームワー
-
-
Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第一回「Swiftの概要」
Swiftの簡単な説明 アップルのiOS(iOS8以降)およびOS Xのためのプログラミング言語。
-
-
Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第二回「関数(メソッド)とクロージャーの利用方法」
前回はSwiftの概要をザックリと説明させていただきました。 今回は「メソッドの宣言方法」をよ
-
-
Xcode6とSwiftで画面コンポーネント(UIコンポーネント)を配置して利用するための基本
当然ですが、iOS向けのアプリケーションを作成するためには、 画面に画面コンポーネント(UIコンポ
-
-
動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。
個人では初となるiOSアプリをリリースいたしました。 何度もリジェクトをくらいながら、開発開始
-
-
Swift入門[公式リファレンスのチュートリアルのSteps2の後半]
「Swift入門」では、Steps2の前半まで説明させていただきました。 本エントリーでは、