美文网首页
iOS开发 - 加载本地Sqlite数据

iOS开发 - 加载本地Sqlite数据

作者: 小黑Swift | 来源:发表于2016-08-21 00:03 被阅读344次
读取自己本地sqlite3数据,比如里面有3个表格装有相同类型的数据,同样的列表
import SQLite

struct SQLiteLocalData {
    
    enum CurrTabel {
        case tabel1 
        case tabel2
        case tabel3
    }
    
    var users = Table("tabel1")
    
    var currTabel:CurrTabel = .tabel1 {
        didSet {
            switch currTabel {
            case .tabel1:
                users = Table("tabel1")
            case .tabel2:
                users = Table("tabel2")
            case .tabel3:
                users = Table("tabel3")
            }
        }
    }
    
    private var db: Connection!
    private let id = Expression<Int64>("id")      //主键
    private let name = Expression<String>("name")  //列表1
    private let age = Expression<String>("age")  //列表2
    private let IdCard = Expression<String>("IdCard") //列表3
    
    init() {
        loadSqliteFiled()
    }
    
    
    //读取本地sqlite3 文件
    mutating func loadSqliteFiled()  {
        
        guard let sqlFilePath = NSBundle.mainBundle().pathForResource("my", ofType: "sqlite3") else {
            return
        }
        do {
            db = try Connection(sqlFilePath)
        } catch {
            print(error)
        }
    }
    
    
    //读取数据
    func readData() -> [TableModel] {
        var userData = TableModel()
        var userDataArr = [userData]
        for user in try! db.prepare(users) {
            userData.id = String(user[id])
            userData.name = user[name]
            userData.age = user[age]
            userData.IdCard = user[IdCard]
            userDataArr.append(userData)
        }
        return userDataArr
    }
}

//针对表格数据建立模型
struct TableModel {
    
    var id:String!
    var name:String!
    var age:String!
    var IdCard:String!
}

相关文章

网友评论

      本文标题:iOS开发 - 加载本地Sqlite数据

      本文链接:https://www.haomeiwen.com/subject/vdwisttx.html