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はいろいろなところで使うことになると思います。

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

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

 

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

 

page_footer_300rect




page_footer_300rect




-iOS
-

執筆者:


comment

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

CAPTCHA


関連記事

swift

[Swift]UIViewからUIImageを作成しローカルに保存

1 はじめに1.1 前提条件2 実装2.1 UIViewからUIImageへ2.2 UIImageをローカルに保存2.3 おまけ:画像のリサイズ3 さいごに4 おすすめ書籍 はじめに こんにちは、nu ...

[初心者向け]Xcodeの使い方(よく使うショートカットキーとエディタ)

1 はじめに1.1 前提条件2 ショートカットキー2.1 コメントアウト2.2 インデント2.3 ファイル内検索2.4 プロジェクト内検索2.5 クリーン2.6 ビルド2.7 ラン3 エディタ3.1 ...

[Swift] プロトコルを弱参照するために

1 はじめに2 プロトコルとは2.1 プロトコルの作成方法2.2 プロトコルを採用したクラス作成2.3 使用例3 ClassOnlyProtocolとは3.1 メリット3.2 使用例4 最後に5 おす ...

swift

SwiftでTTTAttributedLabelの文字列からリンク表示

1 はじめに2 TTTAttributedLabelとは3 CocoaPodsでインストール4 実装4.1 Labelの表示4.2 タップの検知5 さいごに はじめに こんにちは。 はじめましてnuk ...

swift

Swift3 StoryBoard上でUIButtonやUILabel、UIViewのcornerを変更する

1 はじめに1.1 前提条件2 StoryBoardの準備3 カスタムクラスの作成3.1 class ~について3.2 @IBDesignableを記述すると3.2.1 Live Renderingと ...

フォロー

follow us in feedly

AppLink

英語

page_side_300rect

2017年5月
« 4月 6月 »
 123456
78910111213
14151617181920
21222324252627
28293031 

アプリ情報

目標を達成したい方を応援する、TODOアプリもリリースしております。 下記のアイコンから無料でダウンロードできます。

Web版MyCoach

私たちはより広い方にコーチングを知ってもらいたいと考えています。 下記のサイトにて、コーチの方々を紹介しておりますので、よろしければご覧ください。