iOS

Swift3でRealmを使ってみる

投稿日:2017年5月15日 更新日:

はじめに

こんちには、はじめです。

現在勉強としてToDoアプリを作っており、その中でRealmを使用しています。

なので今回は自己学習の復習としてRealmを使って簡単に登録や検索ができるものとして、

単語の登録、一覧表示、検索が行えるアプリを作ってみました。

 

前提条件

Swift: 3.1
Realm: 2.7.0
Carthage: 0.22.0

 

事前準備

・Carthageのインストール
・プロジェクトの作成(SingleViewApplication)

Realmのインストール・設定

Carthageファイルの生成

ターミナルにてプロジェクトは以下で以下を実行

CarhageにてRealmをインストール

Carthageファイルに以下を記述

Realmをインストール

以下を実行してプロジェクトフォルダ配下にCarthageフォルダができていれば成功です。

プロジェクト内でRealmが使用できるように設定

・Generl > Linked Frameworks and Libraries に以下の二つを指定

・Build > Phases で「+マーク」をおして「Run Script」を追加
・Build > Phases > Run Scriptに以下を追加

 

以上でひとまずRealmが使えるようになりました。

 

モデル作成

・プロジェクト配下にModelsフォルダを作成

・Modelsフォルダ内にMyItems.swiftを作成し以下を記述

 

一覧表示画面、登録画面の作成

storyboard作成

・TOP画面はNavigationContoroller + TableView
・TOP画面右上の「+ボタン」から登録画面へ遷移(モーダル)
・登録画面でTextFieldと登録ボタンを追加

 

一覧表示画面

登録した単語一覧を表示する画面を作成

登録画面

次に単語を登録する画面を作成

 

登録処理の追加

登録ボタン押下後のデータ登録処理を追加します。

 

一覧表示処理の追加

データの取得

データの登録後Top画面が表示される際[viewDidLoad]は通らないため
[viewWillAppear]内にデータの取得処理を記述します。

 

Top画面にSearchBarを追加

SerachBarの追加

UISearchResultsUpdatingを継承してTableViewに追加して,

入力されるごとにあいまい検索を行った結果のみを表示するようにします。

 

さいごに

Realmはいろいろなところで使うことになると思います。

今回はあいまい検索を使いましたが、前方一致や後方一致、完全一致等の検索も今後使用する

必要があると思いますので、今後使用する機会があれば載せていこうと思います。

 

今回作ったアプリの最終的なソースは以下のようになります。

 

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

swift

[Swift4]UITextViewにプレースホルダをつける

1 はじめに1.1 前提条件2 実装3 さいごに はじめに こんにちは、nukkyです。 UITextFieldにはプレースホルダが標準で用意されていますが、UITextViewには用意されていません ...

swift

[Swift3]で直感的にアニメーションが記述できるライブラリ「Cheetah」

1 はじめに2 準備3 実装3.1 準備3.2 移動3.3 回転と拡大3.4 速度調整3.5 繰り返し3.6 アニメーションの終了4 さいごに はじめに こんにちは、nukkyです。 今回は、仕事でV ...

SwiftGenを使ってみた

1 はじめに2 SwiftGenの特徴2.1 コードジェネレートするリソースを選択することができる2.2 コードジェネレートするのにビルドが必要ない2.3 設定ファイルベースである3 インストール4 ...

swift

月と日を選択するpickerを作る

1 はじめに1.1 前提条件2 サンプル2.1 ピッカーのイメージ2.2 ピッカーのxibファイル2.3 実装したカスタムクラス2.4 呼び出し元のコード3 簡単な解説3.1 MonthAndDayP ...

swift

Swift3 + Alamofire4 + Unbox2.4を使ってJSONをパースする

1 はじめに1.1 前提条件1.2 完成形2 モデルの作成3 APIクラスの作成4 ViewControllerの作成4.1 Delegateの指定4.2 TableViewの設定4.3 Search ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年5月
 123456
78910111213
14151617181920
21222324252627
28293031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。