SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Objective-CユーザーのためのSwift入門

Objective-Cより柔軟な新プログラミング言語「Swift」をはじめよう!~開発環境の構築とプロジェクトの作成

Objective-CユーザーのためのSwift入門 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

Swiftの型と変数の利用

 Swiftで利用できる型については、Objective-Cとほぼ同じです。変数に関しては、Objective-Cよりも柔軟な扱いとなり、軽量プログラミング言語のような書き方が可能となります。

基本的な型の種類

 Swiftでよく利用される型には次のものがあります。

Swiftでよく利用される型
型名 概要
Int 整数値
Float 32bitの浮動小数点
Double 64bitの浮動小数点
String 文字列
Bool true/falseの2値型
Array 配列型
Dictionary 辞書型

 Objective-CではYES/NOで表現されていたBool型は、Swiftではtrue/falseで表現されます。

変数の宣言

 変数を宣言するときには、変数名の頭にvarをつけます。varには、「再代入による値の変更が可能な変数を宣言する」いう意味があります。

書式1 変数の宣言
var 変数名[:型] = 値

 前述の通り、型を指定せずに変数を宣言することも出来ます。型を指定しない場合は、プログラムを簡潔に早く記述することができます。ただし、複数のメンバーで開発する場合には、変数の意味を理解するためにコードを読まなければならず、開発に時間がかかってしまう場合もあります。複数のメンバーで開発する場合は、Objective-Cと同様に型を明記したほうがいいです。また、一度に複数の変数を宣言することも可能です。

リスト2 ViewController.swift
// 変数の宣言
var lang:String = "Swift"

// 複数の変数をまとめて宣言
var (a:Int, b:String) = (1, "Hello")

nilを許容する型

 Swiftには、変数を参照した際にnilで落ちることを防ぐ、という機能があります。Objective-Cでは、すべての変数が空(nil)である可能性を考慮してプログラムを行わなければなりません。そのため、処理を行う前に、try-catch等で変数のnil対策を行う必要があり、ソースコードが冗長になりがちです。

 これに対してSwiftでは、最初から変数がnilである可能性をもたせて宣言することができます。このように変数を宣言することを、nil/nilでないという選択肢をもっているという意味でOptional型といいます。

リスト3 ViewController.swift
// 空かもしれない変数を宣言
var num:Int? = 3

 上記のように記述するだけで、変数にnilが入る可能性を宣言できます。このように変数を宣言することを「wrapする」「Optionalを適適用する」と言います。Optionalを適応することで、アプリの実行時にnilで落ちることを防げます。

 Optional型で宣言した変数は、nilを許さない処理ではそのままでは利用できません。nilでなく値が入っているということを明示的に示す必要があります。このことを「unwrapする」といい、具体的には次のように変数の後ろに「!」をつけて行います。

リスト4 ViewController.swift
// 変数numが空でないことを明記して加算を実行
var sum = num!+1
println(sum)    // 「4」を出力

 上記のサンプルでは、変数numがnilでないことを明記して、変数がnilであれば実行できない加算を行っています。Xcodeのコンソールにログを出力する場合は、上記のようにprintln関数を利用します。

まとめ

 今回はSwiftを利用する環境の構築、Swiftのプログラムを試すためのプロジェクトの作成まで行いました。次回では、Objective-Cに比べて簡単になった文法や追加された演算子等の基本的なプログラムの記述について説明を行う予定です。

参考資料

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Objective-CユーザーのためのSwift入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8179 2014/12/19 18:53

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング