美文网首页
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