見出し画像

Swift -TableViewとstoryboard.instantiateViewController()で値渡しの内容をDBで参照してみた①-

はじめに

今回は難し目な内容で作るのに時間が掛かり大変だったので、記事に纏めて置こうと思います。
記事が長くなりそうなので分割して、投稿しようと思います😅
DBを使いたい人や遷移後に値渡しを行いたい人に参考になると思います。

使用環境

● OS:macOS Big Sur 11.3.1
● Xcode:12.5
● Swift:5.4 
● DB Browser for SQLite:3.12.1

作るアプリのイメージ

CocoaPodsでFMDBをインストールする

CocoaPodsが導入されている必要があります。
ない方はこちらを参照 -> CocoaPodsの導入手順

1、プロジェクトをターミナルに接続する

①ターミナルを開き、「cd」と入力

スクリーンショット 2021-06-06 10.47.20

②Finderからプロジェクトファイルを見つける

スクリーンショット 2021-06-06 10.52.41

③プロジェクトファイルをターミナルにDrag & DropにEnterキーで実行

スクリーンショット 2021-06-06 10.54.14

④Podfileをプロジェクトファイルに生成する

ターミナルに下記の様に入力。

$pod init

Podfileを開き、下記の様に編集を加える。

スクリーンショット 2021-06-06 11.09.07

Podfileを編集後,下記の様に入力し実行。

$pod install

これでプロジェクトファイル内に、FMDBをインストールすることが出来ていると思います。
成功しているか確認しましょう。

スクリーンショット 2021-06-06 11.14.58

スクリーンショット 2021-06-06 11.15.11

FMDBをインポート出来る様にXcodeのプロジェクトファイルに設定を行う

①プロジェクトファイルを開く
プロジェクト名.xcworkspaceを開き、Build Phases > Link Binary With Librariesの+ボタンで「libsqlite3.0.tbd」と「libsqlite3.tbd」を追加。

スクリーンショット 2021-06-06 11.27.53

②プロジェクト名-Bridging-Header.hファイルを作成
まずプロジェクトを選択します。⌘ + Nを実行し、Header Fileを選択する。ファイル名を、「プロジェクト名-Bridging-Header」としてヘッダファイルを作成。

スクリーンショット 2021-06-06 11.36.23

④ヘッダファイルを編集
ヘッダファイルに下記のコードを追加。

#ifndef TestDB_Bridging_Header_h
#define TestDB_Bridging_Header_h

#import "FMDB/FMDatabase.h"
#import "FMDB/FMResultSet.h"
#import "FMDB/FMDatabaseAdditions.h"
#import "FMDB/FMDatabaseQueue.h"
#import "FMDB/FMDatabasePool.h"

#endif /* TestDB_Bridging_Header_h */

⑤ヘッダファイルへのパスを設定
プロジェクト > TARGETSのプロジェクト名 > Build Settings > Swift Complier - Generation > Objective-C Bridging Header に作成したヘッダファイルへのパスを設定する.
パス:プロジェクト名/ヘッダファイル名

スクリーンショット 2021-06-06 11.43.10

⑥一度、ViewController.swiftにimport文を追加しエラーにならないか確認
下記の様にimport文を追加します。

スクリーンショット 2021-06-06 11.54.05

これでエラーにならずに、Build出来たらFMDBを読み込んでいる事になります。

おわりに

次回はUIパーツの設置について解説して行きます。
次回も宜しくお願いします。

参考文献

 EasytoSwiftさんの投稿動画を参考にさせて頂きました。
大変勉強になりました。

【Swift】画面遷移と値受け渡しの方法まとめ

● 【iOS Simulator】SQLiteの保存場所の確認方法をわかりやすく解説

【Swift】CocoaPods導入手順

CocoaPods公式サイト

いいなと思ったら応援しよう!