2017-03-17 5 views
-2

iOSアプリケーションで作業していて、SQLite DBが既に作成されていて、データが入力されています。私はこのデータを読んで、それをユーザーに表示できるようにしたいと思っています。既存のsqlite dbを迅速に追加してデータを読み込む方法

データベースファイルをプロジェクトにドラッグアンドドロップして追加しましたが、実際に何か問題が発生しています。私はFMDBとSQLite.swiftのラッパーのサンプルを一日中見てきましたが、本当に進歩はありませんでした。

ハードコードされた項目の配列からtableviewcontrollerを作成する非常に基本的なサンプルを実行しています。次のコードは、のUITableViewControllerの中に含まれています

var items = ["testitem1", "testitem2", "testitem3", "testitem4"] 

override func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return items.count 
} 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) 

    cell.textLabel?.text = items[indexPath.row] 

    cell.detailTextLabel?.text = "Some extra info" 

    return cell 
} 

これは動作し、テーブルビューを移入が、私は、私は私のプロジェクトを持っている既存のSQLite DBからデータを読み込むことができるようにしたいです。

ここでも配列をDBの基本クエリの結果で置き換えることができます。

おそらくSQLite.swiftがFMDBよりも推奨されるようですか?データベース内のデータは基本的な静的データの一種であり、ユーザーはそれに書き込まないので、おそらく私はDBをスクラップしてXMLファイルを使用する必要がありますか?おそらく数千ものエントリーがあるでしょうが、おそらくXMLファイルが最良の選択肢ではないでしょう。

これを実現し、ユーザーにデータを保存し、照会して表示するもう1つの簡単な方法がある場合は、それも公開しています。

おかげ

すべての
+3

[編集]あなたの質問、あなたが実際に問題を持っているコードで掲示コードを置き換えるためのより多くの、より良いです。あなたの質問がデータベースからのデータの読み込みに関するものであれば、そのコードを掲示し、あなたが持つ問題を明確に説明してください。 – rmaddy

+0

@irldevコアデータsqliteのラッパーです。 –

+0

このライブラリをご覧くださいhttps://github.com/chamira/SQLiteManager、私はこれがあなたが探していると思います。これにより、生のSQLを書くことができます –

答えて

0

まず、それはあなたが必要なものを提供して
あなたはdata それは成熟した、ユニットテストされ、最適化されていることをsearchに必要persistdata .Maybeにあなたの必要性

リンゴの文書によると。

プラットフォームに組み込まれています。 It’s first party tool has integration with xcode多くの人がサードパーティの依存関係を心配しています。
だからcore dataについて.last物事すべてのWWDC Appleが新機能を導入することを行うとobjective- Cとほとんど に同じボイラープレートコード提供リンゴとコアのデータから、長い時間、支持体上に運ぶための良い方法をコアデータを使用して迅速

Core Data Programming Guide

+0

ありがとうございます。これは愚かな質問かもしれませんが、コアデータを使用すると、DBなどからデータを供給できますか?私が見てきた例から、ユーザーが入力したデータを保存してから再度ロードする方法のようです。 – irldev

+0

@irldev私のアップデートのセクションとこのビデオをチェックしてくださいhttps://www.youtube.com/watch?v=Hv0rzl2sDJU –

+0

@irldevあなたが私の提供されたリンクによって理解しました –

関連する問題