• 基本演算

    演算のほとんどは、C言語、およびObjective-Cとほとんど変わりません。その部分はざっくりと説明して、残りは異なる部分を説明したいです。Objective-Cと変わらない演算a + b c = a - b c = a * b c = a / b c = a % …

  • 条件分岐、ループ

    Objective-Cと一部同じ書き方ができないことがあるので注意です。if文if a == 1 { // Do something. } else if a != 2 { // Do something. } else { // Do somethin…

  • 変数宣言と代入

    Swiftの基本中の基本。変数宣言と代入、演算について説明します。定数宣言let maxValue: Int = 100定数というとグローバルなイメージがあるが、Swiftの定数はローカルスコープ内でもよく使われるようである。Objective-Cのconstよりは、Jav…

  • Stringの使い方

    SwiftではNSStringではなくString型を使います。Objective-CのNSStringとの橋渡しは、ほとんど意識しなくてよいです。従来のiOS SDKおよびサードパーティライブラリでNSStringで宣言されているものは、Stringで受け取れます。Strin…

  • Arrayの使い方

    SwiftでArrayを使う方法について。Arrayの生成と初期化String型の配列を生成する場合。var array1: String型の空の配列を作る場合。var array2 = ()何が入るかわからない場合はAnyObject。var array3: A…

  • Dictionaryの使い方

    SwiftでDictionaryを扱う方法について。Dictionaryの生成と初期化key、value共にStringのDictionaryの場合。var dict1: = [ "key1" : "value1", "key2" : "value2"…

  • クラスとプロパティ

    プロパティ宣言class Wine { // nilを許可しない var name: String // nilを許可 var vintage: Int? // nilを許可 var area: String? …

  • クラスとメソッド

    コンストラクタinitでコンストラクタを宣言する。class MyClass { var text: String // 引数なし init() { text = "" } // 引数あり …

  • クラスと継承

    継承の方法継承はセミコロンで繋げて行います。class MyClass1 { var str1 = "str1" private var str2 = "str2" } // MyClass1継承してMyClass2クラスを作る class My…

  • クラスの初期化と終了処理

    初期化(コンストラクタ)initメソッドで初期化処理を行います。class MyClass1 { // 初期化されてないプロパティ var str1: String var int1: Int init() { /…

  • アクセスレベル

    クラス、クラスのプロパティ、メソッド、enum、関数など、あらゆるものにアクセスレベルを適用できます。アクセスレベルの種類アクセスレベルの種類は以下の3つに分かれます。privateクラス、構造体の中のみ、もしくは同一ファイルのみでアクセス可能internal…

  • Optional Chaining

    Optional Chaining(オプショナル・チェイニング)とは、値がnilの可能性があるものへのアクセスの仕組みです。Objective-Cでは、オブジェクト型の変数の値がnilであっても、メソッドを呼んでもランタイムエラーになりません。JavaならNullPointer…

  • プロトコル(Protocol)

    Swiftのプロトコル(以下、Protocol)はObjective-Cのそれと同等の位置づけです。実際、SwiftでUITableViewDelegateなどSDKのDelegateはProtocolで宣言されています。Swiftから入る人にProtocolについて簡潔に述べ…

  • Extensions

    Extensionを使うと既存のクラスにプロパティやメソッドを追加できます。以下は、StringにstartsWith,endsWithメソッドを追加しています。extension String { func startsWith(prefix: String) -…

  • 構造体(Struct)

    構造体はクラスとよく似ています。struct StructPoint { var x = 0 var y = 0 init() { } init(x: Int, y: Int) { self.x = x…

  • 列挙型(Enum)

    Objective-Cでお馴染みのenum。Swiftのenumでは同等以上の機能が用意されています。整数型(Int型)かつ連番で定義する一番使うのがこのパターンでしょう。enum WineType: Int { case Red = 1 case Wh…

  • ブロック関数

    メソッドの引数にブロック関数宣言するString引数をひとつ取るブロック関数。func method01(callback: ((result: String) -> Void)) { // Do something. if isOK { …