Skip to content

How to use

Fidetro edited this page Feb 13, 2018 · 2 revisions

SwiftFFDB implementation of model binding based on the Codable protocol of Swift 4

  1. create Person table model would you look like this: struct:
struct Person:FFObject {

    var primaryID: Int64?
    var name : String?
    
    static func memoryPropertys() -> [String]? {
        return nil
    }
    
    static func customColumnsType() -> [String : String]? {
        return nil
    }
    
    static func customColumns() -> [String : String]? {
        return nil
    }
}

or class:

class Person: FFObject {

    var primaryID: Int64?
    var name : String?
    
    required init() {
        
    }
    
    static func memoryPropertys() -> [String]? {
        return nil
    }
    
    static func customColumnsType() -> [String : String]? {
        return nil
    }
    
    static func customColumns() -> [String : String]? {
        return nil
    }
}
  1. create table in sqlite database :
Person.registerTable()

Insert

var person = Person()
person.name = "fidetro"
person.insert()

Select

        // find all Object
        guard let persons1 = Person.select(where: nil) as! [Person]? else {
            // no object in database
            return
        }
        
        // find name is 'fidetro'
        guard let persons2 = Person.select(where: "name = 'fidetro'") as! [Person]? else {
            // no object in database
            return
        }

Delete

// find name is 'fidetro' 
        guard let personList = Person.select(where: "name = 'fidetro'") else {
            // no object in database
            return
        }
        for  p in personList {
            // delete this person in database
            p.delete()
        }

also you can:

        do{
        try FFDBManager.delete(Person.self, where: "name = 'fidetro'")
        }catch{
            print(error)
        }

More

This page the basic usage of SwiftFFDB,continue to have a look at the Advanced Usage to see how to use SwiftFFDB.

Clone this wiki locally