[Realm][Swift4対応 完全保存版] 5.データの更新と削除

はじめに

前回はRealmにおけるクエリについて説明をしました。

第5回目となる今回は、既存データの更新と削除をする方法について説明します。

過去記事は以下を参照ください。

環境

Xcode:9.4.1
Swift:4.1.2
Realm:3.7.4

目次

  1. 前準備
  2. データの更新
  3. データの削除
  4. Realmファイルの削除

“[Realm][Swift4対応 完全保存版] 5.データの更新と削除” の続きを読む

[Realm][Swift4対応 完全保存版] 4.クエリによるデータの取得

はじめに

前回はRealmにおけるモデルオブジェクトの作成方法とデータベースへの書き込み方法について説明しました。

第4回目となる今回は、クエリを使用してデータベースからデータを取得する方法について説明します。

過去記事は以下を参照ください。

環境

Xcode:9.4.1
Swift:4.1.2
Realm:3.7.4

目次

  1. 前準備
  2. 全データの取得
  3. 件数の取得
  4. 各レコードデータの参照
  5. filterによるクエリ
  6. 並べ替え

“[Realm][Swift4対応 完全保存版] 4.クエリによるデータの取得” の続きを読む

[Realm][Swift4対応 完全保存版] 3.モデルオブジェクトの作成と書き込み

はじめに

前回はRealmにおけるモデルの定義について説明しました。

第3回目となる今回は、モデルからインスタンスを生成してデータを設定し、データベースに書き込むまでを説明します。

過去記事は以下を参照ください。

環境

Xcode:9.4.1
Swift:4.1.2
Realm:3.7.4

目次

“[Realm][Swift4対応 完全保存版] 3.モデルオブジェクトの作成と書き込み” の続きを読む

[ライブラリ] Eurekaでヘッダーやフッターを非表示にするには?

はじめに

Eurekaで入力欄を作成するときに、Sectionを作成します。

このSectionを作成すると、自動でヘッダー欄が作成されてしまいます。

今回は、このヘッダーやフッターを非表示にする方法を紹介します。

環境

Xcode:9.4.1
Swift:4.1.2

ヘッダーやフッターを非表示にするには?

ヘッダーやフッターを非表示にするのは簡単で以下のようにコードを記述するだけです。

form
    +++ Section() {
        // ヘッダーを非表示にする
        $0.header?.height = { CGFloat.leastNormalMagnitude }
        // フッターを非表示にする
        $0.footer?.height = { CGFloat.leastNormalMagnitude }
    }
    <<< TextRow() {
        $0.title = "テキスト入力"
        $0.value = "テスト"
}

上記を実行すると、以下のようにヘッダーは非表示になります。

 

[ライブラリ] Eurekaでヘッダーにイメージを表示するには?

はじめに

本ブログに「Eurekaのリストの開始位置の変更方法を知りたい」とのコメントをいただきましたので調査しました。

Eurekaのリストの開始位置(行の表示位置)を変更するには、ヘッダーのサイズで調整することができますので、その方法を説明します。

環境

Xcode:9.4.1
Swift:4.1.2

目次

“[ライブラリ] Eurekaでヘッダーにイメージを表示するには?” の続きを読む

[ライブラリ] EurekaでImageRowを使用するには?

はじめに

Eurekaは、標準では ImageRow という行はありません。

そこで、EurekaCommunity にあるImageRowをインストールして画像の選択をできるようにする方法を紹介します。

環境

Xcode:9.4.1
Swift:4.1.2

目次

“[ライブラリ] EurekaでImageRowを使用するには?” の続きを読む

[Realm][Swift4対応 完全保存版] 2.モデルの定義

はじめに

第2回目となる今回は、Realmにおけるモデルの定義について説明します。

過去記事は以下を参照ください。

環境

Xcode:9.4.1
Swift:4.1.2
Realm:3.7.4

目次

“[Realm][Swift4対応 完全保存版] 2.モデルの定義” の続きを読む

[Realm][Swift4対応 完全保存版] 1.CocoaPodsによるRealmのインストールとプロジェクトの作成方法

はじめに

本サイトのアクセスログを見ると、Swiftで使用できるデータベースフレームワーク「Realm」の記事への参照が多いようです。

そこで、もっと詳細な説明を加えた、Swif4向けの完全保存版を作成することとしました。

第1回目となる今回は、プロジェクトを作成し、Realmをプロジェクトに組み込むまでを説明します。

なお、過去記事にてCarthageによるRealmの導入方法について説明しましたが、今回はCocoaPodsによるRealmのインストール方法について説明します。

※筆者としては、CocoaPodsによるRealmの組み込みの方が簡単だと感じました。

なお、CocoaPodsのインストール方法については、「CocoaPodsの導入」の記事を参照してください。

環境

Xcode:9.4.1
Swift:4.1.2
Realm:3.7.4

目次

  1. プロジェクトを作成する
  2. podファイルを作成する
  3. podファイルを編集する
  4. Realmをインストールする

“[Realm][Swift4対応 完全保存版] 1.CocoaPodsによるRealmのインストールとプロジェクトの作成方法” の続きを読む

[Tips]Swift4での文字列操作

はじめに

どのようなプログラミング言語であっても、文字列操作は頻繁に使用しますし、必要不可欠な技術です。

今回はSwift4における文字列操作について説明します。

環境

macOS High Sierra 10.13.3
Xcode 9.2(9C40b)
Swift 4.0.3

目次

“[Tips]Swift4での文字列操作” の続きを読む

[ライブラリ]Eurekaの行にタグを付けてRow値を取得するには?

はじめに

Eurekaで作成する行には、タグを付けることができます。

今回はタグを付けて、あとからRow値を取得する方法を紹介します。

Eurekaについては、本ブログのメニューから[ライブラリ]-[Eureka]を選択して参照ください。

環境

Xcode:9.4.1
Swift:4.1.2

タグを設定する方法

行にタグを設定するのは簡単です。

tagプロパティに、任意のタグ名を付けるだけです。

以下の例では、tagプロパティに”team”を設定しています。

form
    +++ Section("チーム設定")
    <<< TextRow { row in
        row.tag = "team"
        row.title = "チーム名"
        row.placeholder = "チーム名を入力"
        }

タグを使用して、行に入力された値を取得する方法

タグを使用して値を取得するには、はじめに form.rowBy(tag: タグ名) を使用して行全体の情報を取得します。次にvalueプロパティを使用して値を取得します。

例えば、保存ボタンをタップした時に行の値を取得したい場合は、以下の様にします。

この例では、タグ名「team」を使用して値を取得しています。

// 保存ボタンをタップしたときのアクション
@objc func tappedSaveButton() {
    let teamRow = form.rowBy(tag: "team") as! TextRow
    let name = teamRow.value!
    
    print(name)
}

values()メソッドを使用して値を取得する方法

Formのvaluesメソッドを使用すると、タグが設定されている行の値を全て取得することができます。

以下に例を示します。

この例では、valuesメソッドで全ての行を取得後に、タグ名を指定して任意の行の値を取得しています。

// 全てのRowの値を取得
let values = form.values()
 
// 「team」というタグが設定された行の値を取得する
let name = values["team"] as! String