Skip to content

FMDB adapters for the swift-protocols-sqlite protocols. Use this code in conjunction with the protocols if you want to use fmdb as your underlying sqlite wrapper.

Notifications You must be signed in to change notification settings

JeffBNimble/swift-adapters-fmdb

Repository files navigation

Introduction

swift-adapters-fmdb is an iOS framework written in Swift 2. It is a set of classes that conform to the swift-protocols-sqlite protocols so that you may seamlessly plug-in this implementation to your application that is written against the protocols.

I had to fork fmdb to add shared a shared schema so that I could build fmdb with Carthage. If and when fmdb ever supports Carthage builds, the dependency on the fork can be replaced with a direct reference to fmdb.

You can find my forked repo here. All changes have been made in the carthage branch.

Using the FMDB adapter

As long as your application uses the swift-protocols-sqlite API/framework, you can easily select/use FMDB as your underlying SQLite library by using this framework. The only class you really need in your app is the FMDBDatabaseFactory.

Creating an in-memory SQLite database

do {
    let factory = FMDBDatabaseFactory()
    let database : SQLiteDatabase = factory.create(nil)
} catch {
  // Do something with the error
}

Note that the return type of the factory.create() function is a protocol; SQLiteDatabase

Creating a temporary SQLite database

do {
    let factory = FMDBDatabaseFactory()
    let database : SQLiteDatabase = factory.create("")
} catch {
  // Do something with the error
}

Creating a SQLite database stored on the filesystem

do {
    let factory = FMDBDatabaseFactory()
    let database : SQLiteDatabase = factory.create("inventory.sqlite3")
} catch {
  // Do something with the error
}

Installation

Use Carthage. This framework requires the use of Swift 2 and XCode 7 or greater.

Specify the following in your Cartfile to use swift-adapters-fmdb:

github "JeffBNimble/swift-adapters-fmdb" "0.0.13"

This library/framework has its own set of dependencies and you should use carthage update. The framework dependencies are specified in the Cartfile.

About

FMDB adapters for the swift-protocols-sqlite protocols. Use this code in conjunction with the protocols if you want to use fmdb as your underlying sqlite wrapper.

Resources

Stars

Watchers

Forks

Packages

No packages published