FMDB 不显示任何东西 - 迅速

Posted

技术标签:

【中文标题】FMDB 不显示任何东西 - 迅速【英文标题】:FMDB not show anything - swift 【发布时间】:2017-02-26 17:32:35 【问题描述】:

我想使用我的本地数据库。 为此,我使用FMDB。

1.我将pod 'FMDB' 添加到pod file 然后pod install

2.我将我的数据库拖到我的项目中 (kashanmapDB_upgrade_3-4.db)。

3.我创建了一个名为DatabaseManager.swift的类

我的班级:

import Foundation
import FMDB
class DatabaseManager 

    private let dbFileName = "kashanmapDB_upgrade_3-4.db"
    private var database:FMDatabase!

    init() 
        openDatabase()
    

    func openDatabase() 

        let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
        let dbPath = URL(fileURLWithPath: paths).appendingPathComponent(dbFileName)
        let str_path = Bundle.main.resourceURL!.appendingPathComponent(dbFileName).path
        let database = FMDatabase(path: str_path)

        /* Open database read-only. */
        if (!(database?.open(withFlags: 1))!) 
            print("Could not open database at \(dbPath).")
         else 
            print("opened database")
            self.database = database;
        
    

    func closeDatabase() 
        if (database != nil) 
            database.close()
        
    

    func query(queryString:String) 
        if let db = database, let q = db.executeQuery(queryString, withArgumentsIn: nil) 
            while q.next() 
                let data = q.string(forColumn: "id")
                // Do whatever here with fetched data, usually add it to an array and return that array
                print("data a a  \(data)")
            
        
    



    在我的控制器中,我为我的类创建了一个变量并调用了我的函数:

      let db = DatabaseManager()
    
     // MARK: - View Lifecycle
     override func viewDidLoad() 
     super.viewDidLoad()
     createPageViewController()
     setupPageControl()
    
      db.openDatabase()
      db.query(queryString: "select * from Tags")
    
    
    

但我的控制台没有显示任何内容。我的问题在哪里?

【问题讨论】:

数据库打开成功了吗? 没有打印像Could not open database atopened database这样的东西 先把你的数据库复制到文档目录然后打开 【参考方案1】:

试试这些步骤:

    首先要卸载旧应用。

    从 Xcode 和 finder -> 项目目录中删除旧的“kashanmapDB_upgrade_3-4.db”文件。

    通过确保选中复制所选项目

    再次复制/添加“kashanmapDB_upgrade_3-4.db”文件
                         OR
    

    在 Xcode 中 -> 转到应用程序项目 -> 链接框架和库 -> 单击 “+” 按钮将“kashanmapDB_upgrade_3-4.db”文件添加到您的项目中

    在 Xcode 项目 - 产品 -> 清理项目和 然后->构建->运行。

大功告成……!!!

【讨论】:

以上是关于FMDB 不显示任何东西 - 迅速的主要内容,如果未能解决你的问题,请参考以下文章

Jquery UI 工具提示不显示在任何东西上

文本不显示 Var 的值。迅速

如何修复当前页面不显示真? [迅速]

重新加载tableview时不显示刷新动画|迅速

选择 fmdb 而不是核心数据的后果

AngularJS 工厂和控制器代码,不产生任何东西